1

EF4.3.1 を使用して DB に接続する WPF アプリがあります。ユーザーが値を編集して保存またはキャンセルできるフォームにエンティティを表示しています。問題は、ユーザーがキャンセルを押したときに変更がロールバックされず、エンティティがコンテキストによって追跡され、saveChanges() が他の操作によって呼び出されたときにデータベースに保存されることです。EF/WPf クライアント サーバー アプリケーションの実装に関する適切な情報源を教えていただけないでしょうか。

もう 1 つの副作用は、ユーザーが 2 つのフォームを開いているときに 1 つのフォームを保存すると、もう 1 つのフォームも保存されるということです。明らかに、正しく使用していません。

4

1 に答える 1

3

このシナリオで私が行っているのは、エンティティのコピーを作成し、そのコピーをユーザーに渡して編集することです。ユーザーがキャンセルを押したとき、私は単にコピーをゴミ箱に捨てます。保存時に、元のエンティティのプロパティをコピーの値(現在はユーザーが変更)で上書きし、元のエンティティを保存してコピーをゴミ箱に移動します。

于 2012-05-08T19:37:20.390 に答える