将 DataSet 与数据库中的数据同步的最佳方法是什么?以下是参数:
- 我们不能简单地重新加载数据,因为它绑定到用户可能已经配置的 UI 控件(这是一个他们可以展开/折叠的树形网格)
- 我们不能在数据库中使用更改标志(如 UpdatedTimeStamp),因为更改并不总是流经应用程序(例如,DBA 可以使用 SQL 语句更新字段)
- 我们不能在数据库中使用更新触发器,因为它是一个多用户系统
- 我们正在使用 ADO.NET 数据集
- 多个字段可以更改给定行
我查看了 DataSet 的合并功能,但这似乎没有保留“ID”列的概念。我查看了 DiffGram 功能,但这里的问题是这些似乎是由同一 DataSet 中的更改生成的,而不是在某些外部数据源上发生的更改。
我已经从这个解决方案运行了一段时间,但我知道可行的方法(效率低下)是构建一个单独的 DataSet,然后迭代所有行,逐个字段地应用更改到它所在的 DataSet边界。
有没有人有类似的情况?你做了什么来解决这个问题?即使您没有遇到类似的问题,我们也欢迎您提出任何解决方案的建议。
谢谢