私は非常に基本的なクエリを持っています。私はISession
によって読み込まれているオブジェクトを編集するためにWPFバインディングを使用しています。双方向バインディングとステートフルセッションのために、誰かがフォーム内のこのオブジェクトを編集すると、セッションを閉じるたびに、フォームで行われたオブジェクトへの変更がデータベースに戻されます。これを避ける最善の方法はどれですか?私が知っているnHibernate:オブジェクトの元の状態をリセットする
方法:
- シャドウは、オブジェクトをコピーし、
DataContext
(私は今のよう使用しています方法)としてコピーしたオブジェクトを使用します。 ISession.Clear
IStatelessSession
を使用してください。
ISession
を閉じる前にオブジェクトをオリジナルのフォームにリセットする方法はありますか?
この例は私にとってそれでした。ありがとう。しかし、「Session.Flush()を呼び出すまでデータベースの同期は行われません」というステートメントは間違っています。トランザクションを使用している場合、 'FlushMode'の設定に関係なく、コミットはデータベースを同期します。 – Yogesh
私はあなたがトランザクションを使用していないと仮定していました。あなたがデータを更新しない場合のポイントは何ですか? –
私は1つを使用していると言っているわけではありませんが、私はただ例外があることを明確にしています。 :) – Yogesh