1

トランザクションを使用していない場合、NHibernate のステートレス セッションは、各ステートメント (読み取りまたは書き込み) の後に接続を強制的に閉じるように見えます。

コードを見ると、ConnectionManagerConnectionReleaseModeが自動的に に設定されAfterTransaction、トランザクションを使用しないと、各ステートメントを独自のトランザクションで実行すると解釈されるため、これが発生していることがわかります。

この動作を変更して、単一の接続をセッションの存続期間全体にわたって再利用できるようにする方法はありますか?

問題が発生した場合に備えて、SqlClientDriver を使用しています。

4

2 に答える 2

1

NHibernate トランザクションですべてをラップするだけです (これはおそらく望ましい方法です)。

トランザクションが開いている間、接続も開いています。

于 2012-07-18T15:31:07.090 に答える