让我说我的表格结构如下:
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());