在两个数据表中查找重复项

时间:2018-01-18 08:10:15

标签: c# c#-4.0 datatable

我坚持从2个数据表中找到重复的条件是动态的。

让我们说 TABLEA TABLEB 具有相同的架构

和比较列可以是任何东西。 列可能不止一个。

如何构建动态条件以从 TABLEA 中删除重复。

这里我尝试了这个查询

e.g。我的列名用逗号分隔

dynamiccolumnA,dynamiccolumnB,dynamiccolumnC

     var matched = from table1 in dt1.AsEnumerable()
           join table2 in dt2.AsEnumerable() on 
         table1.Field<object>(dynamiccolumn) equals table2.Field<object>(dynamiccolumn)
         where table1.Field<object>(dynamiccolumn) != table2.Field<object>(dynamiccolumn)
         select table1;

&#34; table1.Field(dynamiccolumn)!= table2.Field(dynamiccolumn)&#34;这个声明可能适用于多个专栏。

有人可以给我一些指示。

提前致谢

1 个答案:

答案 0 :(得分:0)

查看您的问题,您需要一个可以自定义的查询,而无需重新编译源代码。我建议你使用表达式树。它们很难理解并且可以带来复杂性,但它非常物有所值。

看看这篇文章 Microsoft Article on Expression Trees

相关问题