2012-01-10 9 views
2

Entity Frameworkを使用してMDIアプリケーションを構築していますが、すべてのウィンドウにわたってオブジェクトコンテキストを使用する方法が不思議です。 私はアプリケーション全体で単一のコンテキスト(シングルトン)を使用する予定でしたが、私の要件では、各ウィンドウの取り消しの変更を処理する必要があります(変更を保存したくない場合)。さらに、すべてがバインドされている必要があります。したがって、ウィンドウ内の変更は、別のウィンドウ内の対応するオブジェクトを更新する必要があります。Entity Frameworkを使用したMDIアプリケーションのオブジェクトコンテキストの処理

複数のウィンドウを持つことができるので、どのエンティティがどのウィンドウによって変更されたかをコンテキストで確認するのは難しく、必要に応じて取り消しを変更することは困難です。 私は、各ウィンドウに対してローカルコンテキストを作成できると思っていましたが、維持するのは難しいでしょう(そして、このローカルコンテキストとグローバルコンテキストを同期させることもできます)。

このような場合のコンテキストの処理方法について考えていますか?

ありがとうございます。

答えて

1

あなたの要件は、ウィンドウがコンテキストに直接バインドされていないと言うだけです。ウィンドウデータの同期や元に戻すなどのアプリケーションロジックを実行する中間層が必要です。このレイヤーは、データをロードまたは保持するためにコンテキストと通信します。あなたのケースでは、レイヤーはpresenter => MVPパターンと呼ばれ、単一のプレゼンターが複数のウィンドウを処理します。おそらく、多くのタイプの操作がある場合、アンドゥを処理するためのコマンドパターンでしょう。

+0

Strangly私は、Entity FrameworkについてのGoogleの記事をMDI環境で使用していませんでした... – user1141178

関連する問題