単一のセッションで作業しています。アプリケーションにはさまざまなモジュールが含まれており、セッションからフェッチされたオブジェクトは保持されます。セッションまたはエンティティを更新するために、任意のモジュールからSession.Clearを呼び出します。他のモジュールの子エンティティの取得で、「遅延初期化に失敗しました-セッションまたはセッションが閉じられていません」という例外が発生します。
[LazyInitializationException]ロールのコレクションを遅延初期化できませんでした:Application.Modules.Repository.childRepository、セッションまたはセッションが閉じられていません
これが私がSessionファクトリとSessionを作成する方法です:
var createdSessionFactory = Fluently.Configure(configuration)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<DMProgram>())
.ExposeConfiguration(c => c.SetProperty("command_timeout", "500"))
.BuildSessionFactory();
ISession Session = NHibernateConfiguration.SessionFactory.OpenSession();