如何使用C# Linq来实现"group by"操作
如何使用C# Linq来实现"group by"操作
表格设计:
列1(主键) | 列2(主键) | 列3 | 列4 ---------------------------------------------------------------- 1 s 2 user1 1 d 3 user2 1 s 2 user1
在C#(linq)中,如何对列1和列2进行“group by”,以便我可以得到不重复的行以及列3和列4的数据?
示例:
列1(主键) | 列2(主键) | 列3 | 列4 ---------------------------------------------------------------- 1 s 2 user1 1 d 3 user2
问题的出现的原因是在使用C# Linq进行分组时,如果使用主键进行分组,由于所有的主键默认都是唯一的,所以不会有任何好处。因此,需要找到一种方法来实现分组。
解决方法是可以使用以下代码来按多个列进行分组:
from row in Table group row by new { row.ColumnA, row.ColumnB, ... ... } into gcs select new { ColumnA = gcs.Key.ColumnA, ColumnB = gcs.Key.ColumnB, ... ... };
我之前尝试过这种方法,但是我需要在group by子句中放置所有的列吗?
如果你的数据的性质如上所述,那么是的,可以试一试。