【发布时间】:2018-08-20 04:41:33
【问题描述】:
我有两个数据表,我想从第一个中选择第二个中不存在的行,两个表都有 3 个键 custnum、shiptonum、connum
例如:
表联系人
custnum shiptonum connum column
1 1 1 data1
2 2 2 data2
3 3 3 data3
4 4 4 data4
餐桌邀请
custnum shiptonum connum column
1 1 1 data11
3 3 3 data33
我希望结果是:
表格结果
custnum shiptonum connum column
2 2 2 data2
4 4 4 data4
我已经尝试过使用
var 差异 = table1.AsEnumerable().Except(table2.AsEnumerable(),DataRowComparer.Default);
但它没有用。例如,在我在 Contacts 表中的测试中,我有 14,389 条记录,在 Invitations 表中我有两条记录存在于 Contacts 表中,使用上述解决方案后的计数是 14,389 而不是 14,387(从 Invitations 表中删除这两条记录)。
【问题讨论】:
-
可能你需要这样的东西:
var differences = table1.AsEnumerable().Except(table2.AsEnumerable(),DataRowComparer.Default);. -
它不起作用@TetsuyaYamamoto,例如在我在联系人表中的测试中我有 14,389 条记录,在表邀请中我有两条记录存在于联系人表中,使用建议的解决方案后的计数是 14,389而不是 14,387(从邀请表中删除两条记录)。