NHibernateの学習曲線に苦労しています。NHibernate作業単位 - 複数のセッション(WinForms)
私たちは現在、NHibernateを使用するようにC#Winformsアプリケーションを移植しており、Gabriel Schenkerの詳細でUnit Of Work(UnitOfWork)を採用しています。
http://nhforge.org/wikis/patternsandpractices/nhibernate-and-the-unit-of-work-pattern.aspx
私たちは、 "会話" に基づいたUnitOfWorkを採用したいです。たとえば、ユーザーがフォームを開くと、UnitOfWorkセッションを開き、フォームが閉じられるまでこれを開いたままにします。フォームはビジネス会話を定義する簡単な方法ですが、実装によっては若干変更することがありますが、この例では例としてフォームの開閉を使用してください。
フォームのシナリオを別のフォームの上に開いたときに問題が発生します。この例では、2つのUnitOfWorkを操作する必要があります。 1つは依然として基底のフォームでアクティブであり、新しいUnitOfWorkは新しいフォームで使用されます。
これはどのように実装しますか? Gabrielによって提供されるUnitOfWork機能は、UnitOfWorkごとに1つのセッションのみを許可しますか?私の最初の考えは、セッションを任意のフォームまたはアプリケーションの一部から呼び出すことができるように、セッションを辞書に格納することです。
あなたの考えは?