Ich habe eine Linq-Abfrage, die von einem datetimeoffest bestellt. Das Ziel ist es, die eine, die NULL an der Spitze, gefolgt von neuesten, 2. neuesten und so weiter. Ich begann mit diesem.
orderby item.Date descending
Auf diese Weise werden die NULLs ganz nach unten verschoben. Also änderte ich es auf diese.
orderby (item.Date.HasValue ? item.Date.Value.Ticks : long.MaxValue) descending
Das funktioniert bei Abfragen im Arbeitsspeicher, lässt sich aber nicht auf SQL übertragen. Mein letzter Versuch ist dieser.
orderby (item.Date.HasValue ? item.Date : new DateTimeOffset(new DateTime(9999, 09, 31))) descending
Das Problem hier ist die maximale datetimeoffset ist nicht das gleiche zwischen SQL und C#. Ich fühle mich wie ich bin eine offensichtliche einfache Lösung fehlt.
Irgendwelche Anregungen?