LINQ查询问题
本文关键字:问题 查询 LINQ | 更新日期: 2023-09-27 18:07:20
我有一个列表,其中包含以下信息
日期、姓名和一些统计信息
名称可以重复,但不一定。
例如,我可以输入
今天,"约翰"
4、今天的"Kim"
3、今天的《彼得》
2、昨天,"Kim"
1、昨天,"Tim"
我想要一个检索每个用户的最新记录的查询。在我的示例中,这将是记录5,4和1。
我是否必须将每条记录与整个数据库进行匹配才能找到答案?
要实现这一点,性能最好的查询是什么?
也许这样的东西可以工作?
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()