如何使用C#Linq来“分组”来实现它

时间:2017-01-28 22:49:13

标签: c# linq

表设计:

Column1(Primary key) | Column2(Primary key) | Column3 | Column4
----------------------------------------------------------------
1                       s                      2          user1
1                       d                      3          user2
1                       s                      2          user1

在C#(linq)中,怎样才能对第1列和第1列进行“分组”处理。 column2使我无法获得重复的行以及column3& column4数据?

示例:

Column1(Primary key) | Column2(Primary key) | Column3 | Column4
----------------------------------------------------------------
1                       s                      2          user1
1                       d                      3          user2

1 个答案:

答案 0 :(得分:0)

正如亚历杭德罗所指出的那样,对主键进行分组不会给你带来任何好处,因为默认情况下所有键都是唯一的,所以所有结果都是如此。

如果它们是主键,则忽略它们,您可以使用类似下面的内容来分组多列

from row in Table
    group row by new
    {
        row.ColumnA,
        row.ColumnB,
        ...
        ...
    } into gcs
    select new {
        ColumnA = gcs.Key.ColumnA,
        ColumnB = gcs.Key.ColumnB,
        ...
        ...
    };