簡體   English   中英

從LINQ查詢結果中獲取最低年份

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM