Linq-to-EF DateTime.ToLocalTime wird nicht unterstützt

9

DateTime.ToLocalTime wird in Linq nicht für EF unterstützt.

Was ist die Alternative? Mir geht die Idee aus.

    
ove 03.05.2012, 11:50
quelle

7 Antworten

5

Verwenden Sie anstelle von .ToLocalTime () innerhalb Ihrer Linq-Abfrage die umgekehrte Konvertierung außerhalb der Abfrage für die Parameter.

%Vor%     
Phil 03.05.2012 12:20
quelle
0

Ich habe eine Kombination aus Extensions verwendet und mich dabei auf den Wert verlassen, der vom Front-End meiner App an LocalTime übergeben wurde. Also, wenn ich zwei Datum Zeiten hatte .. wie .. ein Startdatum und Enddatum Parameter für einen Bericht, würde ich sie dort oben .. lassen Sie den Benutzer in LocalTime .. dann auf dem hinteren Teil meines Controllers .. Ich würde die Variablen sdate und edate in meiner Linq to Entities-Abfrage verwenden. Die statischen Erweiterungsmethoden, die ich in eine statische Hilfsklasse geworfen habe. Entschuldigung, dass ich über ein Jahr zu spät bin. :)

%Vor%     
Slack Shot 04.09.2013 16:41
quelle
0

Du kannst es so machen:

%Vor%     
tran.phuong02 10.07.2015 04:34
quelle
-1

In der Regel sollten Sie Datum und Uhrzeit in UTC in Ihrer Datenbank speichern.

Konvertieren Sie alle lokalen Datum / Uhrzeit in UTC in Ihrem Code, bevor Sie sie in der Datenbank speichern.

Wenn Sie die lokale Zeit aus der UTC in der Datenbank anzeigen müssen, konvertieren Sie sie in Code nach dem Datenbankabruf.

    
Nicholas Butler 03.05.2012 12:27
quelle
-1

Wenn Sie den Zeitzonen-Offset vom Server erhalten, können Sie EntityFunctions verwenden, um den Offset in Ihrer linq-Abfrage anzuwenden

%Vor%     
JamieD77 06.07.2015 19:57
quelle
-1

Konvertiert DateTime in String zum Vergleich , zum Beispiel:

%Vor%     
Afshin Aghazadeh 07.07.2015 08:25
quelle
-2

Finden Sie die Lösung in diesem Frage

%Vor%     
Julien 03.05.2012 11:55
quelle