Ich versuche, das früheste Jahr aus einer Gruppe von Zeilen zu finden, die von einer LINQ-Abfrage zurückgegeben werden. Das ActivationDate ist als Datetime-Wert in der DB gespeichert.
Ich weiß, dass ich eine separate Abfrage erstellen kann, um nur das Datum zu erhalten, aber ich würde lieber die Ergebnisse der vorhandenen Abfrage verwenden, da sie für mehrere andere Dinge verwendet wird.
IEnumerable<MonitoringPanel> panels = from rows in db.MonitoringPanels
where rows.DealerEntity == dealerIDint
select rows;
Dies führt jedoch immer wieder zu einer Fehlermeldung:
var testDate = panels.Min().ActivationDate;
Fehler:
System.ArgumentException was unhandled by user code.
Es wird ein Fehler ausgegeben, auch wenn ich versuche, die niedrigste PanelNumner (als int gespeichert) auszuwählen, aber das Folgende funktioniert:
var testDate = panels.FirstOrDefault().ActivationDate;
Lösung
DateTime testDate = (DateTime)panels.Min( thing => thing.ActivationDate);
int lowYear = testDate.Year;