gpt4 book ai didi

nhibernate - 懒惰初始化失败 - 没有 session 或 session 被关闭

转载 作者:行者123 更新时间:2023-12-04 05:26:57 25 4
gpt4 key购买 nike

我正在使用单个 session ,我的应用程序包含不同的模块,并且从 session 中获取的对象被保留。当我从任何模块调用 Session.Clear 以刷新 session 或实体时。我收到异常 “延迟初始化失败 - 没有 session 或 session 关闭”在任何其他模块中获取子实体。

[LazyInitializationException] 延迟初始化角色集合失败:Application.Modules.Repository.childRepository,没有 session 或 session 已关闭

这就是我创建 Session 工厂和 Session 的方式:

var createdSessionFactory = Fluently.Configure(configuration)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<DMProgram>())
.ExposeConfiguration(c => c.SetProperty("command_timeout", "500"))
.BuildSessionFactory();


ISession Session = NHibernateConfiguration.SessionFactory.OpenSession();

最佳答案

案例:当我们从 session 中获取对象(A)时。该对象有一些延迟加载的集合(B)。您关闭或清除 session 。现在您正在尝试获取集合(B)。确保您收到此错误。

原因:因为 session 不知道父对象(A)。

解决方案:您需要保持 session ,或者您可以急切负载收集(B)。

关于nhibernate - 懒惰初始化失败 - 没有 session 或 session 被关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13087822/

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