Entity framework 使用实体框架从组中选择第一行

Entity framework 使用实体框架从组中选择第一行,entity-framework,linq-to-entities,entity-framework-5,Entity Framework,Linq To Entities,Entity Framework 5,给定一个表和数据,如 Id Year Code ColB ColC 1 2013 A Foo Bar 2 2014 A Baz Qux 3 2014 B Jax Fizz 4 2013 C Buub Baq 我希望为每个代码选择“最新”行,例如: Id Year Code ColB ColC 2 2014 A Baz Qux 3 2014 B Jax Fizz 4 20

给定一个表和数据,如

Id  Year  Code  ColB  ColC
1   2013  A     Foo   Bar
2   2014  A     Baz   Qux
3   2014  B     Jax   Fizz
4   2013  C     Buub  Baq
我希望为每个代码选择“最新”行,例如:

Id  Year  Code  ColB  ColC
2   2014  A     Baz   Qux
3   2014  B     Jax   Fizz
4   2013  C     Buub  Baq
我认为这可以直接在SQL中完成

select a,b 
from (
select a,b,row_number() over(partition by a order by b desc) as roworder
from myTable
) temp
where roworder = 1


这可以用Linq to Entities来表示吗?

我确信您已经尝试了
db.MyTable.GroupBy(item=>item.code)。选择(g=>g.OrderByDescending(v=>v.Year)。First())
,对吗?@dasblinkenlight:不,我不确定如何子选择GroupBy的结果。几分钟后我会试一试。