NHibernate:即时重新加载瞬态对象深嵌套子属性

NHibernate:即时重新加载瞬态对象深嵌套子属性,nhibernate,Nhibernate,我想在会话中保留一个由用户在多个页面上配置的实体。此实体加载了NHibernate,并加载了它的一些属性/集合。说: 会话[order]=新OrderproductRepository.Getid 在下一页中,获取会话[order],然后使用它 但是,此时order还可以,但是它的产品和嵌套内容被破坏了,因为它们是在不同的会话中延迟加载的 有没有可能告诉NHibernate我想将我的临时订单的属性加载到最深层次?或者,唯一的解决方案是在 productRepository.Getid ? 喜欢

我想在会话中保留一个由用户在多个页面上配置的实体。此实体加载了NHibernate,并加载了它的一些属性/集合。说:

会话[order]=新OrderproductRepository.Getid 在下一页中,获取会话[order],然后使用它 但是,此时order还可以,但是它的产品和嵌套内容被破坏了,因为它们是在不同的会话中延迟加载的

有没有可能告诉NHibernate我想将我的临时订单的属性加载到最深层次?或者,唯一的解决方案是在 productRepository.Getid ? 喜欢 Session.LoadNestedPropertiesorder,急切


更新:似乎解决了这个问题。但是,我不确定反射是否很好…

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

或者您可以尝试以下方法:

我想您的订单只有一种产品。此产品是您的问题,因为当用户访问第二页时,它会成为一个分离的对象。您可以使用以下内容:

session.Updatemyorder.Product

将产品实例重新附加到当前会话。在这之后,延迟加载应该可以正常工作