私は C# で .XML ドキュメントを操作しています。このドキュメントからノードを選択し、ノードを追加し、ノードを削除しています。コード全体で何度も何度もノードを削除しています。
このドキュメントの XML 編集はすべて、他のクラスが呼び出すクラス内に含まれています。
Data Access クラスには、それを使用するクラスがドキュメントの編集を完了したかどうかを伝える方法がないため、保存するかどうか、またはいつ保存するかについてのロジックがありません。
ドキュメントを変更するたびに保存できましたが、パフォーマンスの問題が心配です。
または、それを使用する他のクラスによって保存されることを想定/希望することもできます(ドキュメントを保存するための1行のパブリックメソッドを作成したため、別のクラスが保存を要求できます)。
2 番目のオプションは、それが呼び出されて変更がコミットされないことを回避するために、何らかの方法でグローバルに適用する必要があると感じているため、私には関係があります。この時点まで、ロールバックが必要になるケースはありません。すべての変更は、コミットする必要がある変更です。
.Net (またはコーディング設計) には、このような状況でパフォーマンスと安全性のバランスをとる方法がありますか?