これに似たシナリオがあります: nHibernate Session Per Request を使用する Asp.NET MVC 4 Web サイト。セッションは、Ninject を使用して、Get メソッドと Save メソッドを使用してリポジトリに挿入されます。
Session Per Request について説明し、それが Web アプリケーションで行う方法であると述べている記事がたくさんあります。
しかし、次のようなロジックの実装に問題があります。
Read Data From Database
Alter Entity information
Save to Database
Read another entity
Alter entity
Save ... but an EXCEPTION OCCURS
ユーザーにメッセージを表示してビューを表示したい。しかし、結果の Web ページも更新する必要があるため、データベースからいくつかの情報を読み取る必要もあります。
nHibernate のドキュメントによると、例外が発生したセッションは破棄する必要があります。ドキュメントはこちら
しかし、ここで進める最善の方法に関する記事が見つかりません。
この状況に最適なアプローチは何ですか? 新しいセッションをリポジトリ オブジェクトに挿入する必要がありますか?
ありがとう。