LINQ查询问题

本文关键字:问题 查询 LINQ | 更新日期: 2023-09-27 18:07:20

我有一个列表,其中包含以下信息

日期、姓名和一些统计信息

名称可以重复,但不一定。

例如,我可以输入

今天,"约翰"
4、今天的"Kim"
3、今天的《彼得》
2、昨天,"Kim"
1、昨天,"Tim"

我想要一个检索每个用户的最新记录的查询。在我的示例中,这将是记录5,4和1。

我是否必须将每条记录与整个数据库进行匹配才能找到答案?
要实现这一点,性能最好的查询是什么?

LINQ查询问题

也许这样的东西可以工作?

var linq = people.GroupBy(a => a.Name).Select(a => a.OrderBy(a => a.Date).Last());

长版:

var linq = from person in people
           group person by person.Name into grouped
           select grouped.OrderBy(a => a.Date).Last();

我是这么想的:

from u in context.Users
group u by u.UserID into grouped
select grouped.OrderByDescending(g => g.Date).First()