2009-12-02 5 views
6

Ich versuche, eine LINQ to SQL-Abfrage basierend auf zwei Feldern zu sortieren. Das erste Feld ist gelegentlich Null, das automatisch an die Spitze einer aufsteigenden Abfrage sortiert. Gibt es eine Möglichkeit, die Null-Einträge nach unten sortieren zu lassen? HierSortiere leere Einträge an den unteren Rand der LINQ-Abfrage

ist ein Beispiel:

From x in SampleDataContext.Event _ 
Order By x.Date, x.Sequence_Number _ 
Select x.Date, x.Sequence_Number 

zurückkehren würde:

  • NULL, 1
  • NULL, 4
  • 12/2/09, 5
  • 12/3/09, 2
  • 12/3/09, 3

gewünschte Reihenfolge:

  • 12/2/09, 5
  • 12/3/09, 2
  • 12/3/09, 3
  • NULL, 1
  • NULL 4,

Antwort

14

Wenn sie Strings:

Order By (string.IsNullOrEmpty(x.Date) ? "zzzzzz" : x.Date) 

Wenn sie auf NULL festlegbare Datetimes sind:

Order By (x.Date ?? DateTime.MaxValue) 
+0

schön, wusste nicht, könnten Sie tun, –

Verwandte Themen