我支持通过NHibernate框架开发的项目。最近(仅偶尔),我仅在特定类上收到此错误NHibernate.LazyInitializationException
。在我的情况下仅针对用户案例。我的完全例外是
NHibernate.LazyInitializationException [(null)] - 初始化[*******。Domain.EpmsUser#129] - 不能初始化代理 - 没有会话
我很清楚框架中的Lazy加载会随机更新数据。我很安静,不知道为什么我的会话只在我访问这个类时才会到期。
请分享此问题的根本原因,如果可能,可以提供一些提示/解决方案来解决问题。
答案 0 :(得分:0)
问题简而言之:
Web应用程序分为(演示者/控制器操作,视图呈现),它们通常具有与网络相关的 生命周期 {{ 1}}。在
Request
期间,我们几乎可以随时加载或持久我们的数据。
这意味着我们应该保持与Request
生命周期 相关的NHibernateISession
生命周期 >
在此处查看更多信息:
很少要检查