2009-08-10 8 views
1

PostUpdateEventイベントを処理している間にNHibernateを使用して新しいエンティティオブジェクトを追加するにはどうすればよいですか?基本的にOnPostUpdateハンドラに新しいオブジェクトを作成し、データベースに挿入しようとする監査ハンドラを実装しました。NHibernateで新しいエンティティを追加するPostUpdateEvent

ただし、実際にはコミットされていないようです。 OnPostUpdateハンドラで新しいトランザクションを開始してコミットすると、再帰的にスタックオーバーフローが発生します。

アイデア?

おかげで、

ジム

答えて

1

私はPostUpdateEventはあなたが望むもののために処理パイプラインでは遅すぎると思います。私が見た例(例:http://nhforge.org/wikis/howtonh/creating-an-audit-log-using-nhibernate-events.aspxhttp://ayende.com/Blog/archive/2009/04/29/nhibernate-ipreupdateeventlistener-amp-ipreinserteventlistener.aspx)は、PreUpdateEventを使用しています。データベーストランザクションを開いている場合は、更新前のイベントを使用しても更新後のイベントではなくても、メインの更新が成功した場合にのみ監査の詳細が書き込まれます。

乾杯、 ジョン

関連する問題