首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate.LazyInitializationException: Initializing[]-Could不初始化代理-没有会话

NHibernate.LazyInitializationException: Initializing[]-Could不初始化代理-没有会话
EN

Stack Overflow用户
提问于 2021-05-06 10:31:16
回答 1查看 452关注 0票数 0

ASP.NET站点。

不断地得到异常

LazyInitializationException:. -Could未初始化代理-无会话.

代码语言:javascript
复制
NHibernate.LazyInitializationException: Initializing[MyProj.MyClass#XXX]-Could not initialize proxy - no Session.   
   at NHibernate.Proxy.AbstractLazyInitializer.Initialize()
   at NHibernate.Proxy.DefaultLazyInitializer.Intercept(InvocationInfo info)
   at MyClassProxy.get_MyProjerty()
EN

回答 1

Stack Overflow用户

发布于 2021-05-06 10:31:16

  • Caching
  • Plus延迟加载
  • Plus会话,为每个请求

关闭

我们已经缓存了NHibernate实体,但是缓存ORM对象是一个危险的想法。

我们可以做以下工作

  • 将ORM实体对象转换为自定义的受限POCO对象,并将其用于缓存。
  • 对于具有多到多关系或一对多关系的大型实体对象是危险的。禁用单个请求的延迟加载(如果possible).
  • Use为创建深度copy.

而进行深度克隆的话)

  • 将ORM实体对象与上下文分离。但是延迟加载属性可以保持为null.

记住,有人我的启用或禁用懒惰加载,你会陷入麻烦很长一段时间。或者有人可能以意外的方式管理会话生存期。如果DB连接被中断,会话可能会损坏。

我还不知道男人会选择什么来解决这个问题。

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

https://stackoverflow.com/questions/67416345

复制
相关文章

相似问题

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