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

时间:2009-10-05 14:49:12

标签: entity-framework

我有一个带有记录的sql server表(不是新的) 它有一个或多个人的记录(测量值),所有记录都有一个日期时间字段。 所以对于人1我有5个记录/测量,日期为1月1日,2日,2月8日,3月19日和7月2日。 我可能有10个人2的记录,日期也不同。

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

可以用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行)的最新记录

1 个答案:

答案 0 :(得分: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())
}