无法将类型为 WhereSelectEnumerableIterator'2[Models.AddonBatch,Sys

本文关键字:Models AddonBatch Sys 类型 WhereSelectEnumerableIterator | 更新日期: 2023-09-27 18:33:58

我无法使此 LINQ 查询正常工作。

我的 Razor 视图中有一个模型,其中包含很少的列,其中一列是一个名为 Trans 的项目列表,在 Trans 中我有几列,示例

model { ID, Name, Email, Trans { ID, PostingDate, Amount}, Date}

我想获取列发布日期的最小和最大日期,我试过这个:

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());

但当时都没有奏效。

有什么建议吗?

谢谢

无法将类型为 WhereSelectEnumerableIterator'2[Models.AddonBatch,Sys

您可以使用:

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);