首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate:急切地重新加载瞬态对象深嵌套子属性

NHibernate:急切地重新加载瞬态对象深嵌套子属性
EN

Stack Overflow用户
提问于 2009-09-10 12:34:33
回答 1查看 774关注 0票数 0

我希望在会话中保留一个实体,由用户在几个页面上进行配置。这个实体是用NHibernate加载的,它的一些属性/集合是延迟加载的。可以这样说:

  • Session"order“=新Order(productRepository.Get(id))
  • on --下一页,获取会话”order“,现在使用

但是,此时order是可以的,但是它的Product(和嵌套的东西)被破坏了,因为它们在不同的会话中被延迟加载。

是否有可能告诉NHibernate,我希望将我的临时命令的属性加载到最深的级别?或者,唯一的解决方案是在productRepository.Get(id)时加载?比如,Session.LoadNestedProperties(订单,急切);

更新:http://www.ribbing.net/index.php?option=com_content&task=view&id=35&Itemid=1似乎解决了这个问题。但是我不确定倒影是不是很好..。

EN

回答 1

Stack Overflow用户

发布于 2011-01-19 11:35:49

您可以急切地用所需的对象加载所有图形,这有点棘手。

或者你可以尝试以下几种方法:

我想你们的订单只有一种产品。这个产品是您的问题,因为当用户访问第二个页面时,它会成为一个独立的对象。你可以使用这样的东西:

session.Update(myorder.Product)

若要将产品实例重新附加到当前会话,请执行以下操作。在那之后,延迟加载应该可以正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1405025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档