我希望在会话中保留一个实体,由用户在几个页面上进行配置。这个实体是用NHibernate加载的,它的一些属性/集合是延迟加载的。可以这样说:
但是,此时order是可以的,但是它的Product(和嵌套的东西)被破坏了,因为它们在不同的会话中被延迟加载。
是否有可能告诉NHibernate,我希望将我的临时命令的属性加载到最深的级别?或者,唯一的解决方案是在productRepository.Get(id)时加载?比如,Session.LoadNestedProperties(订单,急切);
更新:http://www.ribbing.net/index.php?option=com_content&task=view&id=35&Itemid=1似乎解决了这个问题。但是我不确定倒影是不是很好..。
发布于 2011-01-19 11:35:49
您可以急切地用所需的对象加载所有图形,这有点棘手。
或者你可以尝试以下几种方法:
我想你们的订单只有一种产品。这个产品是您的问题,因为当用户访问第二个页面时,它会成为一个独立的对象。你可以使用这样的东西:
session.Update(myorder.Product)
若要将产品实例重新附加到当前会话,请执行以下操作。在那之后,延迟加载应该可以正常工作。
https://stackoverflow.com/questions/1405025
复制相似问题