2012-04-07 16 views
1

Ich habe eine Abfrage, die wie folgt aussieht:Linq-to-SQL-orderby und wählen Sie null Einträge

var TheOutput = from u in MyDC.TheTable 
       where .... 
       orderby u.TheDateTimeUsed 
       select new MyModel() 
       { 
        .... 
        TheDateCreated = u.TheDateTimeCreated, 
        TheDateUsed = u.TheDateTimeUsed 
        ... 

       }; 

return TheOutput.Take(10).ToList(); 

u.DateTimeUsed ist ein Nullable-Datum. Wenn der Wert null ist, möchte ich, dass diese Datensätze zuerst in der Liste von 10 erscheinen, die ich lade.

Wie kann ich das tun?

Danke.

+0

Mögliche Duplikat - http://StackOverflow.com/Questions/1107767/Ordering-Nullable-Datetime-in-Linq-to-sql –

Antwort

3

Vielleicht so etwas wie folgt aus:

var TheOutput = from u in MyDC.TheTable 
       where .... 
       orderby !u.TheDateTimeUsed.HasValue 
       orderby u.TheDateTimeUsed 
       select new MyModel() 
       { 
        .... 
        TheDateCreated = u.TheDateTimeCreated, 
        TheDateUsed = u.TheDateTimeUsed 
        ... 

       }; 

Sie können es auch tun, wie folgt aus:

var TheOutput = from u in MyDC.TheTable 
       where .... 
       orderby u.TheDateTimeUsed??DateTime.MinValue 
       select new MyModel() 
       { 
        .... 
        TheDateCreated = u.TheDateTimeCreated, 
        TheDateUsed = u.TheDateTimeUsed 
        ... 

       }; 

Nicht so schön wie der erste.

Verwandte Themen