选择所有by子句和逐个元素

时间:2014-05-22 12:59:52

标签: linq linq-to-sql

我不认为这是重复的。我想返回多个记录,每个记录具有给定类型的最大日期。我能做到这几行我只是想知道它是否可以在一个中完成?

所以我有一张桌子

int, DateTime, varchar, int
id,  date,     message, type
1,   2000-1-1, hello,   2
2,   2000-1-2, goodby,  1
3,   2000-1-1, again,   1

有没有办法返回每种类型的最旧记录? 所以这将是记录id 2和id 1

1 个答案:

答案 0 :(得分:1)

您可以按type对数据进行分组,然后按date对每个群组进行排序并获取第一项。

var result = yourTable.GroupBy(d => d.type)
                      .Select(g => g.OrderByDescending(x => x.date).First());