2011-05-29 80 views

回答

0

我承担你的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))); 
} 

或者你也可以贪婪加载的懒性。

+0

不幸的是,数据访问层与GUI是分开的,所以我无法从这个上下文中打开会话。 – 2011-05-30 11:21:58

+0

然后,您必须急切地加载数据访问层中的惰性属性。 – ChrisWue 2011-05-30 19:45:41