在分组后选择linq中的整个行

本文关键字:linq 选择 | 更新日期: 2023-09-27 18:18:48

假设我有一个表,有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,并且我已经有了该行的实体类型,我已经创建了一个对象,它是那个类的列表。

所以最好能直接从对象中获取结果

在分组后选择linq中的整个行

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

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