我无法让这个LINQ查询正常工作。
我在Razor View中有一个模型,其中包含少量列,其中一列是一个名为Trans的项目列表,Trans里面有几列,例如
model { ID, Name, Email, Trans { ID, PostingDate, Amount}, Date}
我想获得列发布日期的MIN和MAX日期,我试过这个:
DateTime dateFrom = Convert.ToDateTime(Model.Select(d => d.Trans.Min(b => b.PostingDate)));
或
DateTime dateTo = Convert.ToDateTime(Model.Select(d => d.addonTrans.Select(t => t.PostingDate)).Max());
但这些都没有奏效。
有什么建议吗?
由于
答案 0 :(得分:1)
您可以使用:
DateTime dateFrom = models
.SelectMany(d => d.Trans)
.Select(tr => Convert.ToDateTime(tr.PostingDate))
.Min();
DateTime dateTo = models
.SelectMany(d => d.Trans)
.Select(tr => Convert.ToDateTime(tr.PostingDate))
.Max();
如果PostingDate
的类型已经是DateTime
,则您不需要Convert
来电:
DateTime dateFrom = models
.SelectMany(d => d.Trans)
.Min(tr => tr.PostingDate);