更新后获取稳定的数据集

时间:2010-02-02 15:03:20

标签: c# dataset

我有一个包含修改,插入和删除行的数据集。我将dataset.GetChanges发送到我的MiddleTier,后者又将其发送到更新数据库的服务器。我使用GetChanges所以我发送尽可能少的行。

服务器更新,插入和删除行,然后发回更新的数据集,然后将其与本地数据集合并。问题是当主键不匹配时,我得到重复的添加/修改行。所以我想我想在合并后调用RejectChanges,这将删除所有剩下的更改(这将是重复的)。那么问题是所有已删除的行仍保留在数据集中。合并不会删除已删除的行,我需要调用AcceptChanges来执行此操作。所以我需要同时接受Accept和RejectChanges,但这是不可能的。

这样做有好办法吗?关于如何以最佳方式解决这个问题的任何建议?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果在向中间层数据集发送更改之前对数据集执行AcceptChanges,则应自行处理(即更新,删除,添加)。这样,当数据集已经更新时,您不需要合并更改。

如果服务器的这些更改失败,您可能还需要考虑应该发生什么。

查看MSDN文章DataSet:AcceptChanges Method