我有两个数据表,我想根据不同的列获得这两个数据库之间的差异,并将它们复制到另一个数据表中。
例如
数据表1
代码 | 姓名 | 年龄金钱 | |
---|---|---|---|
123 | 用户1 | 25 | >68000.00 |
456 | 用户2 | 32 | 23000.00 |
963 | 用户3 | 56 | 75000.00 |
852 | 用户4 | 29 | 13000.00 |
您可以使用Linq和Except
来确定:
两个集合的集合差被定义为第一个集合中没有出现在第二个集合中的成员。
在该示例中,我将行投影到匿名类型;除了";设置操作以获得结果:
var dtrows = dt1.AsEnumerable().Select(rw => new { Code = rw[0], Name = rw[1], Age = rw[2], Money = rw[3] });
var dt2rows = dt2.AsEnumerable().Select(rw => new { Code = rw[0], Name = rw[1], Age = rw[2], Money = rw[3] });
dt2rows.Except(dtrows)