Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C将不同的数据从一个数据表复制到另一个数据表_C#_Select_Datatable_Distinct_Copying - Fatal编程技术网

C# C将不同的数据从一个数据表复制到另一个数据表

C# C将不同的数据从一个数据表复制到另一个数据表,c#,select,datatable,distinct,copying,C#,Select,Datatable,Distinct,Copying,我有两个数据表,Tab1和Tab2。 Tab1充满数据,Tab2为空 Tab1看起来像这样: Col1 | Col2 | Col3 | Key | Country | Col。。。。 abc | xyz | 103 | AK1 | POL |。。。。。 波尔|曼| 1212 | AK2 |波尔|。。。。 摩洛|科姆| 11 |阿克1 |波尔|。。。。 bca | oni | 10a | AK1 | GER |。。。。 bca | oni | 10a | AK3 | GER |。。。。 al |

我有两个数据表,Tab1和Tab2。 Tab1充满数据,Tab2为空

Tab1看起来像这样: Col1 | Col2 | Col3 | Key | Country | Col。。。。 abc | xyz | 103 | AK1 | POL |。。。。。 波尔|曼| 1212 | AK2 |波尔|。。。。 摩洛|科姆| 11 |阿克1 |波尔|。。。。 bca | oni | 10a | AK1 | GER |。。。。 bca | oni | 10a | AK3 | GER |。。。。 al | 1n | zxc | AK2 | POL |

我需要按键选择不同的数据,并且CountryKey+国家/地区组合必须是唯一的,并将其放入表2

如何在c中实现它? 我有很多行,所以我需要安静快速的方法来做

对于本例,结果应为: Col1 | Col2 | Col3 | Key | Country | Col。。。。 abc | xyz | 103 | AK1 | POL |。。。。。 波尔|曼| 1212 | AK2 |波尔|。。。。 bca | oni | 10a | AK1 | GER |。。。。
bca | oni | 10a | AK3 | GER |..

您可以将给定列上的项目分组,然后从每组中获取第一行或最后一行或任意一行

secondTable = firstTable.AsEnumerable()
    .GroupBy(row => new
    {
        Key = row.Field<string>("Key"),
        Country = row.Field<string>("Country"),
    })
    .Select(group => group.First())
    .CopyToDataTable();

firstTable.AsEnumerable.GroupByrow=>new{Key=row.FieldKey,Country=row.FieldCountry,}.Selectgroup=>group.First.CopyToDataTablesSecondTable,LoadOption.OverwriteChanges;这个版本对我很有用。