DataTable合并将重复的PK视为更新而不是错误

时间:2013-05-03 11:31:18

标签: c# system.data

我正在尝试合并两个DataTable s - 一个表示当前数据,另一个表示对该数据的建议插入。

这些表具有相同的模式,都具有用户提供的简单主键字符串。

喜欢的是,如果建议的插入行有一个已存在于当前数据中的密钥,则应该抛出错误。但是,建议的添加只是作为对现有行的建议更改而合并,这是我想要的。

我目前的代码是

currentData.EnforceConstraints = false;
currentData.Merge(additions);
currentData.EnforceConstraints = true;

我实际上正在合并整个DataSet,而不仅仅是DataTable s。我希望在EnforceConstraints = true行上出错,但我没有。

我也尝试使用diffgrams,但遇到了同样的问题 - 重复插入被视为修改。

有没有办法将一组插入合并到DataSet并将重复的PK视为错误而不是更新


同样,由于 modified DataRow s记住它们的原始值,我希望合并一个原始值与目标行的当前值不匹配的修改行会引发异常太

1 个答案:

答案 0 :(得分:0)

不是用于此目的的唯一标志吗?我的理解是,对于Merge,它将基于主键合并行。