实体根据日期获取最新结果

时间:2018-04-16 13:44:19

标签: c# sql entity

我有下表:

------------------------------------
userid | testid | date     | result
1      | 1      | 18-01-01 | 1
1      | 1      | 18-01-09 | 6
1      | 3      | 18-01-09 | 5
1      | 3      | 18-01-10 | 2

现在我需要使用Entity获取2行:以下内容:

------------------------------------
userid | testid | date     | result
1      | 1      | 18-01-09 | 6
1      | 3      | 18-01-10 | 2

我需要一个LINQ查询,它返回数据库中每个testid的最新结果。 userID / testID是组。获取此信息的最佳和最快方式是什么?

谢谢,

1 个答案:

答案 0 :(得分:2)

只需GroupBy() testid并选择每个组的最新内容

var result = ctx.Items.GroupBy(x => x.testid)
                      .Select(x => x.OrderByDescending(y => y.date).First());