【发布时间】:2012-09-18 22:36:49
【问题描述】:
我正在尝试从 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;
【问题讨论】:
-
欢迎,梅森。您似乎忘了提及实际的错误消息?
-
请提供错误信息。不过,最初,您在事物上使用
Min,而不是在第一个实例中查询事物的日期(而应该是panels.Min(thing => thing.ActivationDate).ActivationDate;。