在groupby之后选择linq中的整行

时间:2014-08-20 17:24:18

标签: c# linq entity-framework

假设我有一个包含5列的表(col_1,col_2,col_3,col_4,col_5)。

我正在尝试使用linq查询按2列(col_2,col_3)分组,我必须选择第4列(col_4)排序的第一个记录,并且必须获得所有记录的所有5列的整行得到。

from abcd in Context.table
group abcd by new { abcd.col2, abcd.col2 }
   into temp orderby temp.orderby(x=> x.col_4)
   select ..

这里我很困惑如何获得整个行值,

此外,我不确定这个排序逻辑是否会按我的意愿运作

我正在使用EntityFramework,我已经拥有该行的实体类型, 我创建了一个对象,该对象是该类的列表。

因此,如果我可以直接获取该对象中的结果,那将是最好的。

1 个答案:

答案 0 :(得分:0)

每个组都是原始项目的集合,因此您可以在每个组中使用OrderByFirst等Linq方法:

from abcd in Context.table
group abcd by new { abcd.col2, abcd.col3 }
   into temp 
select temp.OrderBy(x=> x.col_4).First()