“怎么可能?”;分组方式;可以使用C#Linq来实现它

“怎么可能?”;分组方式;可以使用C#Linq来实现它,c#,linq,C#,Linq,表格设计: Column1(Primary key) | Column2(Primary key) | Column3 | Column4 ---------------------------------------------------------------- 1 s 2 user1 1 d 3

表格设计:

Column1(Primary key) | Column2(Primary key) | Column3 | Column4
----------------------------------------------------------------
1                       s                      2          user1
1                       d                      3          user2
1                       s                      2          user1
在C#(linq)中,如何对column1和column2执行“分组方式”,以便不获取重复的行以及column3和column4数据

例如:

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

正如Alejandro所指出的,基于主键的分组不会给您带来任何好处,因为默认情况下,所有键都是唯一的,所以所有结果都是一样的

忽略如果它们是主键,您可以使用下面的方法对多个列进行分组

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

初始表设计无效。PK中的数据必须是唯一的,而示例中的第一行和第三行是重复的。按PK分组是不必要的,因为它将再次生成原始数据,因为这些数据是唯一的。@Alejandro实际上在本例中,column1和column2组合作为PK…这是C#end的DataTable,需要发送到DB,在DB中重复。因此您可以假设,第二个表是db中的实际表…这就是为什么我需要“分组依据”这个我之前尝试过的,但是我需要将所有列放在group by子句中吗?如果您的数据是您上面发布的数据,那么是的,请尝试一下