C# 数据表选择表达式

C# 数据表选择表达式,c#,datatable,C#,Datatable,我想选择那些有重复项的gesellschaft_id。我使用了下面的代码。这是选择不同的gesellschaft_id。如何编写选择表达式来选择该行,哪些行,gesellschaft_id在数据表中有更多的值 foreach (DataRow dr1 in table1.Rows) { DataRow[] drDup = table2.Select("('" + dr1[0].ToString() + "' = gesellschaft_id ) AND

我想选择那些有重复项的gesellschaft_id。我使用了下面的代码。这是选择不同的gesellschaft_id。如何编写选择表达式来选择该行,哪些行,gesellschaft_id在数据表中有更多的值

foreach (DataRow dr1 in table1.Rows)
        {
            DataRow[] drDup = table2.Select("('" + dr1[0].ToString() + "' = gesellschaft_id ) AND Count(gesellschaft_id)>1");

        }
同样有用的还有查找和添加/删除链接:

同样有用的还有查找和添加/删除链接:


您可以这样做,假设第一列是要检查重复项的列。当然,这假设您有可用的Linq

var duplicateIds = table2.AsEnumerable()
                         .GroupBy(row = row[0])
                         .Where(x => x.Count() > 1);

如果你在问题中增加一点细节,那会很有帮助。

你可以这样做,假设第一列是要检查重复项的列。当然,这假设您有可用的Linq

var duplicateIds = table2.AsEnumerable()
                         .GroupBy(row = row[0])
                         .Where(x => x.Count() > 1);

如果您在问题中添加更多细节,这将非常有用。

这将为您提供
数据行
s,其中包含一个
gesellschaft\u id
,它存在于多行中:

var rowsWithADuplicateGesellschaftId = table1.Rows
    .Cast<DataRow>()
    .GroupBy(row => row["gesellschaft_id"])
    .Where(group => group.Count() > 1)
    .ToArray();
var rowsWithADuplicateGesellschaftId=table1.行
.Cast()
.GroupBy(行=>row[“gesellschaft_id”])
.Where(group=>group.Count()>1)
.ToArray();

这将为您提供
数据行
s,其中有一个
gesellschaft\u id
存在于多行中:

var rowsWithADuplicateGesellschaftId = table1.Rows
    .Cast<DataRow>()
    .GroupBy(row => row["gesellschaft_id"])
    .Where(group => group.Count() > 1)
    .ToArray();
var rowsWithADuplicateGesellschaftId=table1.行
.Cast()
.GroupBy(行=>row[“gesellschaft_id”])
.Where(group=>group.Count()>1)
.ToArray();