2009-12-02 9 views
6

Estoy tratando de ordenar una consulta LINQ a SQL basada en dos campos. El primer campo es ocasionalmente nulo, que se ordena automáticamente en la parte superior de una consulta ascendente. ¿Hay alguna forma de hacer que las entradas nulas se clasifiquen en la parte inferior?Ordenar entradas en blanco en la parte inferior de la consulta LINQ

Aquí es un ejemplo:

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

volvería:

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

orden deseado:

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

Respuesta

14

si son cadenas:

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

Si son anulables datetimes:

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

agradable, no sabía que se podía hacer eso –

Cuestiones relacionadas