Entity-Framework-Gruppe nach Datum und gibt eine neue Klasse zurück

8

Ich benutze das .NET und das Entity Framework. Ich möchte eine Tabelle nach einem Datum ohne den Zeitteil gruppieren.

Ich habe die Klasse:

%Vor%

Und die Methode (ich benutze das BLToolkit, wenn du wissen willst, was DbManager ist):

%Vor%

In dieser Methode übersetzt linq in diese SQL-Abfrage:

%Vor%

Und das ist eine falsche Abfrage, da sie nicht nur nach einem Datum gruppiert ist.

Aber wenn ich diesen Code benutze (er ist nicht verwendbar, muss ich ein Klassenobjekt zurückgeben):

%Vor%

Es wird in folgendes übersetzt:

%Vor%

Und das ist die richtige Abfrage.

Ich nehme an, dass Entity Framework versucht, meine Abfrage oder etwas Ähnliches zu optimieren, und deshalb habe ich die falsche Abfrage.

Habe ich Recht? Mache ich es richtig? Was soll ich tun (vielleicht direkte SQL-Abfrage oder etwas anderes verwenden)?

    
colotiline 24.11.2012, 07:22
quelle

2 Antworten

8

Es ist viel einfacher EntityFunctions * hier: %Vor%

* DbFunctions ab Entity Framework 6.

    
Gert Arnold 24.11.2012, 10:12
quelle
2

Antwort aktualisieren: EntityFunctions wurde veraltet.

  

Warnung 1 'System.Data.Entity.Core.Objects.EntityFunctions' ist veraltet: 'Diese Klasse wurde durch System.Data.Entity.DbFunctions ersetzt.' c: \ users \ liufa \ documents \ visual studio 2013 \ Projekte \ MatasMrLenderTest \ Mvc5MobileApplication1 \ Controllers \ CreditScoreController.cs 32 103 Mvc5MobileApplication1

Jetzt ist es DbFunctions .

%Vor%     
Matas Vaitkevicius 31.08.2014 10:34
quelle

Tags und Links