[英]Get the lowest year from LINQ query results
我試圖從LINQ查詢返回的一組行中找到最早的年份。 ActivationDate作為日期時間值存儲在數據庫中。
我知道我可以進行單獨的查詢來獲取日期,但是我寧願使用現有查詢的結果,因為它用於其他方面。
IEnumerable<MonitoringPanel> panels = from rows in db.MonitoringPanels
where rows.DealerEntity == dealerIDint
select rows;
但是,這總是引發錯誤:
var testDate = panels.Min().ActivationDate;
錯誤:
System.ArgumentException was unhandled by user code.
即使我嘗試選擇最低的PanelNumner(存儲為int格式),也會引發錯誤,但是以下操作確實有效:
var testDate = panels.FirstOrDefault().ActivationDate;
解
DateTime testDate = (DateTime)panels.Min( thing => thing.ActivationDate);
int lowYear = testDate.Year;
除非Enumerable為定理類型,否則您需要添加一個lambda表達式來告訴它要使用的類的屬性。 嘗試
var testDate = panels.Min(x => x.ActivationDate);
我認為您需要告訴Min()
方法尋找最小值。 哪個字段是最小值。
var testDate = panels.Min(panel => panel.ActivationDate);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.