1

MVVMパターンを使用して動作するWPFアプリがあります。このパターンでは、ViewModelがすべての保存/更新/取得/削除を行うクエリを呼び出します。たとえば、ストレージシステムをスワップするようにクエリを変更するのは簡単なので、これを行いました。

データがオンザフライで保存/削除されてもアプリは正常に動作していますが、クライアントは[保存]ボタンを必要としているため、どの変更が行われたかを覚えておく(またはNhibernateする)必要があります。長時間セッションを開いたくないので、最善の方法がわかりません。うまくいくパターン/アーキテクチャを知っていますか?

4

1 に答える 1

1

これは私にとって単純なアプリでうまくいきました:

  • ビューモデルのセッションを開く
  • トランザクションを使用しない場合は、Flushmode.Never(クエリがフラッシュされないようにします)
  • クライアント側のID(hilo、guidcomb、...)を生成するIDジェネレーターを使用します
  • CRUDの後にFlushを使用しないでください
  • チェックsession.IsDirtyして保存ボタンを有効にする
  • 保存->flush()またはコミットの場合
  • キャンセルする場合->セッションまたはロールバックを破棄する

NHは、フラッシュの最後にすべてのアクションを送信します

于 2012-04-18T06:12:24.457 に答える