我有这样的代码:获取两个数据表之间的区别?
DataTable before = GetCustomerTable();
FixCustomerAddresses();
DataTable after = GetCustomerTable();
的FixCustomerAddresses()
方法不添加或删除的Customer
表的任何行。它只是修改某些现有的行。
我想找出哪些行的列已被修改。有没有办法通过比较数据表之前/之后轻松完成此操作?我之前在StackOverflow上看到过这个问题,但这种情况稍有不同,所提出的解决方案(Merge + GetChanges; AsEnumerable().Except
)不适用于我。结果DataTable
包含所有行,双倍行或根本没有行。 DataTable
包含超过35000条记录。
FixCustomerAddresses()
只是在DataBase上运行脚本。没有简单的方法可以确定在该方法内哪些行已被更改。 DataTable包含主键,一些任意列,当然还有地址字段。
你可以修改'FixCustomerAddresses()',使它具有追踪它更新哪些行的副作用吗? – Yuck
“DataTable”有哪些字段? –
编辑该问题以包含所需的信息。 – ilitirit