分组依据 - Linq 分组依据多个字段

  • 本文关键字:字段 Linq linq group-by
  • 更新时间 :
  • 英文 :


我在列表中有以下项目:

Date          Amount    AnId     AnotherId    MainDate
2013/01/10    1000      1        5            2013/01/12
2013/01/11    2000      2        5            2013/01/12
2013/01/15    4000      1        5            2013/01/12

我想使用 linq 返回以下内容:

Date          Amount    AnId     AnotherId    MainDate
2013/01/11    2000      2        5            2013/01/12
2013/01/15    4000      1        5            2013/01/12

即对于特定的MainDate,我只想要跨AnIdanotherId独一无二的最新项目。因此,2013/01/10 上的项目被删除,因为同一MainDateAnIdAnotherId的项目的日期晚于项目日期......

我一直在尝试MainDate分组,然后按AnId分组,AnotherId按降分组,然后为每个组选择第一项,但对 linq 不太了解,所以我在挣扎......

在点表示法中使用与在查询表达式中相同的anonymous类型:

var qry = cust.GroupBy(cm => new { cm.MainDate, cm.AnId ,  cm.AnotherId })

指:
如何在 LINQ 中按多列分组?
LINQ 分组依据 多个字段 - 语法帮助

使用 lambda 表达式可以编写

.GroupBy(e=>new { MainDate = e.MainDate, Id = e.AnId})

相关内容

  • 没有找到相关文章

最新更新