0
をデシリアライズするとき、私はドラッグされたオブジェクトから直列化さNHibernateのオブジェクトを取得するモジュールがあります。例外NHibernateのオブジェクト
をしかし、私は言って2行目に例外を取得:
failed to lazily initialize a collection, no session or session was closed
をデシリアライズするとき、私はドラッグされたオブジェクトから直列化さNHibernateのオブジェクトを取得するモジュールがあります。例外NHibernateのオブジェクト
をしかし、私は言って2行目に例外を取得:
failed to lazily initialize a collection, no session or session was closed
私は仮定dragObject
はnhibernateでシリアライズされたオブジェクトです。明らかに、Xaml
プロパティは遅延ロードされています(または、クラスの遅延読み込みプロパティにアクセスします)。
は、あなたはすべての怠惰なロードされたプロパティにアクセスする同じセッションでdragObject
をロードする必要があります。
using (ISession session = sessionFactory.OpenSession())
{
DragObject dragObject = e.Data.GetData(typeof(DragObject)) as DragObject;
Object content = XamlServices.Load((new StringReader(dragObject.Xaml)));
}
代わりにすることもできます熱心な負荷怠惰な性質を。
不幸にも、データアクセスレイヤーはGUIから分離されているため、このコンテキストからセッションを開くことはできません。 –
次に、データアクセスレイヤーに遅延プロパティをロードする必要があります。 – ChrisWue