0
当我有一个检索拖动的对象序列化NHibernate的对象模块:异常反序列化NHibernate的对象
但我得到第二行的异常说:
failed to lazily initialize a collection, no session or session was closed
当我有一个检索拖动的对象序列化NHibernate的对象模块:异常反序列化NHibernate的对象
但我得到第二行的异常说:
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是分开的,所以我无法从这个上下文中打开会话。 – 2011-05-30 11:21:58
然后,您必须急切地加载数据访问层中的惰性属性。 – ChrisWue 2011-05-30 19:45:41