DataSet をデータベース内のデータと同期するための最良の方法は何ですか? パラメータは次のとおりです。
- データはユーザーが構成した可能性のある UI コントロールにバインドされているため、単純にデータを再読み込みすることはできません (展開/折りたたみが可能なツリー グリッドです)。
- データベースで変更フラグ (UpdatedTimeStamp など) を使用することはできません。これは、変更が常にアプリケーションを通過するとは限らないためです (たとえば、DBA は SQL ステートメントでフィールドを更新できます)。
- マルチユーザー システムであるため、データベースで更新トリガーを使用できません。
- ADO.NET DataSet を使用しています
- 特定の行の複数のフィールドを変更できます
DataSet の Merge 機能を見てきましたが、これは「ID」列の概念を保持していないようです。私は DiffGram 機能を見てきましたが、ここでの問題は、外部データ ソースで発生した変更ではなく、同じ DataSet 内の変更から生成されたように見えることです。
私はしばらくの間このソリューションから実行してきましたが、私が知っているアプローチは (多くの非効率性で) 機能することを知っています。それは、別の DataSet を構築し、フィールドごとに変更を適用するすべての行を、それが存在する DataSet に適用することです。バウンド。
誰かが同様のシナリオを持っていましたか? 問題を解決するために何をしましたか。同様の問題に遭遇していない場合でも、解決策の推奨事項は大歓迎です。
ありがとう