gpt4 book ai didi

c# - NHibernate.LazyInitializationException 异常

转载 作者:太空狗 更新时间:2023-10-29 19:40:14 25 4
gpt4 key购买 nike

我们偶尔会遇到这个问题,但现在我每次都能重现。我在自定义构建的论坛上增加了一个查看计数器,这会导致错误:

NHibernate.LazyInitializationException: failed to lazily initialize a collection, no session or session was closed

此错误发生在对象中的另一个集合上。如果我添加:

.Not.LazyLoad()

对于我的 Fluent 映射,错误围绕我的项目转移。我一直禁用对象的延迟加载,直到它到达没有延迟加载的位置,然后它抛出了这个错误:

NHibernate.LazyInitializationException: Could not initialize proxy - no Session.

所以,然后我去掉了延迟加载中的注释,现在我回到了原点。只有当我增加这个 View 计数器时它才会出错。这是我的基类保存代码的片段:

using (ISession session = GetSession())
using (ITransaction tx = session.BeginTransaction())
{
session.SaveOrUpdate(entity);
tx.Commit();
}

环顾四周,我在另一篇文章中读到,交易可能会导致问题,但那是因为它们的放置位置。此代码扩展到与我的域对象(存储库类)分开的类。这是帖子:

hibernate: LazyInitializationException: could not initialize proxy

我不认为这是我的问题。这是我对第一个抛出错误的集合的流畅映射。还有其他几个类似的集合。

HasManyToMany(x => x.Votes)
.WithTableName("PostVotes")
.WithParentKeyColumn("PostId")
.WithChildKeyColumn("VoteId");

最佳答案

对这个问题的进一步研究是因为它本身已经重现了,在对服务器的一次回调中,如果你做了一个保存和获取,你需要刷新 session 。我在保存后进行了冲洗,这似乎解决了问题。

关于c# - NHibernate.LazyInitializationException 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1125988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com