IRepository実装に提供されるIDbContextオブジェクトを作成しました。DbContextは、ビジネスロジックがトランザクションを作成、コミット、ロールバックし、必要に応じてコミットする方法を提供します。また、NHibernate ISessionを転送するため、IRepositoryのNHibernate実装がアクセスできます。
このセットアップをWebアプリケーションで使用しています。このセットアップでは、リクエストごとに1つのDbContextが作成され、すべてのリポジトリで共有されます。リクエストの最後に、ISessionを破棄します。
標準的なNHibernateプラクティスの経験または知識を通じて、セッションを破棄してクローズしようとしているときに、DbContextをフラッシュして、未処理のトランザクション(エラーがない場合)を自動的にコミットすることは許容されますか?