当前位置:  开发笔记 > 编程语言 > 正文

NHibernate Session.Evict()

如何解决《NHibernateSession.Evict()》经验,为你挑选了2个好方法。

我无法在我面前访问代码,所以我只是想知道是否有人可以帮我解决Session.Evict()问题.

假设我有一个带有子集合地址的Person对象.我从会话中填充Person对象并延迟加载Addresses集合.然后我调用Session.Evict(personObject)从会话中分离Person对象.我的问题是,如果我尝试访问Addresses集合,它只会返回null,或者我会得到一个异常,因为NHibernate代理无法找到关联的会话?



1> Danielg..:

如果在驱逐实体之前导致延迟加载,则即使在驱逐之后也可以访问该集合.但是,如果您逐出实体然后尝试延迟加载子集合,您将获得异常.



2> Luke..:

您将收到NHibernate.LazyInitializationException.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有