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



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

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

喜欢的是,如果建议的插入行具有当前数据中已经存在的键,则应该抛出错误。然而,建议的添加只是被合并为对现有行的建议更改,这是而不是我想要的。

我当前的代码是类似于

的代码
currentData.EnforceConstraints = false;
currentData.Merge(additions);
currentData.EnforceConstraints = true;

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

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

是否有一种方法可以将一组插入合并到DataSet中,并将重复的PKs视为错误而不是更新?


同样,由于修改的 DataRow记住了它们的原始值,我希望合并一个原始值与目标行当前值不匹配的修改行也会抛出异常。

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

最新更新