实体框架获取包含日期的记录列表中的最新记录

Mic*_*hel 3 entity-framework

我有一个带有记录的sql server表(不是新的)它有一个或多个记录(度量),并且所有记录都有一个datetime字段.因此,对于人1我有5个记录/测量,日期为1月1日,1月2日,2月2日,3月19日和7月2日.我可能有10个人2的记录,日期也不同.

现在我想为人1和人2选择最新记录; 对于两个人1记录,在datetime字段中具有最新的日期时间.

可以用EF完成吗?

亲切的问候,米歇尔

示例数据

personId日期长度

1 01-13-2009 180

1 01-14-2009 190

1 01-15-2009 184

2 02-18-2009 170

2 01-17-2009 190

在此表中,我想要人1(=第3行)和第2人(=第4行)的最新记录

Cra*_*ntz 6

from p in Context.WhateverYourTableNameIs
group p by p.PersonId into g
select new 
{
    PersonId = g.Key
    MostRecentMeasurementDate = (DateTime?)
                                (from m in g
                                 order by m.Date desc
                                 select m.Date).FirstOrDefault())
}
Run Code Online (Sandbox Code Playgroud)