Es scheint wie eine einfache Sache zu tun, aber EF unterstützt keine Eigenschaften wie DateTimeOffset.DateTime
oder DateTimeOffset.LocalDateTime
oder sogar DateTime.Date
. Ich versuche, ein DateTimeOffset-Typenfeld nur durch die DateTime-Komponente (d. H. Die 'lokale' DateTime) zu filtern, was in simple sql: where cast(x as datetime) = '2016-12-14'
eine einfache Sache ist.Wie wird datetimeoffset auf datetime im Entity-Framework umgesetzt?
Es gibt eine DbFunctions.TruncateTime
, aber keine entsprechende TruncateOffset
.
Es scheint einfach nicht möglich zu sein, ein -Objekt in ein normales DateTime
-Objekt zu konvertieren, das in linq-to-entities funktioniert. Die einzige Konvertierung ist eine implizite von DateTime
zu , aber nicht umgekehrt.
'TruncateTime' hat zwei Überladungen' TruncateTime (Nullable) 'und' TruncateTime (Nullable ) ' –
Eldho
, die beide die TIME verwerfen. Ich möchte die DateTime (Datum und Uhrzeit) eines DateTimeOffset ohne den Offset abrufen. Es ist völlig nutzlos, den Typ zu unterstützen, wenn Sie den DateTime-Teil von DateTimeOffset nicht erreichen können. Ein DateTimeOffset entspricht einem UTC DateTime, es trennt nur die DateTime vom Offset. Und wenn ich den DateTime-Teil des DateTimeOffset in EF nicht abfragen kann, ist es wertlos. Wie ich schon sagte, in einfachem SQL ist es einfach "cast (x as datetime)", wobei x ein DateTimeOffset-Feld ist. Sie benötigen wirklich eine TruncateOffset-Funktion. – Triynko