0

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

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

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

我当前的代码类似于

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

我实际上是在合并整个DataSets,而不仅仅是DataTables。我希望EnforceConstraints = true在线上出现错误,但我没有。

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

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


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

4

1 回答 1

0

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

于 2013-08-16T05:34:20.413 回答