2016-10-21 6 views
0

Wie kann ich diese linq Abfrage in einzelne Zeile konvertieren?Holen Sie sich min DateTime von Linq

var closets = (from v in options 
       select v.ExceriseDate).Min(); 

var option = options.Where(v => v.ExceriseDate == closets).Single(); 

return option; 

Antwort

1

Wie so:

options.OrderBy(v => v.ExceriseDate).First(); 

Ich werde auch hinzufügen, dass Sie nicht wollen, Single() verwenden, wenn Sie garantieren können es einzigartig sein wird. Wenn mehrere vorhanden sind, wird eine Ausnahme ausgelöst. Das würde passieren, wenn zwei Objekte ExceriseDate teilen würden. Schließlich, wenn Sie die Abfragesyntax für Linq über die Ausdrucksmethode bevorzugen:

var option = (from v in options 
       orderby v.ExceriseDate 
       select v).First(); 
+1

ich die Option Objekt zurückkehren wollen und nicht die Datetime – user829174

+0

Ich entschuldige mich - ich werde die Antwort bearbeiten. – Paul