c# – 实体框架组by和get max

让我说我的表格结构如下:

MyRow:

Id Name Date
1  A    2015/01/01
2  B    2015/01/01
3  C    2015/01/02
4  A    2015/01/03
5  B    2015/01/03
6  A    2015/01/02
7  C    2015/01/01

使用EF我希望获得MyRow列表,其中包含具有不同名称和最新日期的元素,因此在这种情况下它将是:

4 A 2015/01/03
5 B 2015/01/03
3 C 2015/01/02

我从这样的事情开始:

var myRows = context.MyRows.GroupBy(mr => mr.Name).Select(..now wth with max..)

最佳答案 订购每个小组并取最后一个小组.

或者由于EF没有(我上次检查过)支持Last(),反过来命令每个组并取第一个:

var myRows = context.MyRows
  .GroupBy(mr => mr.Name)
  .Select(grp => grp.OrderByDescending(mr => mr.Date).First());
点赞