NHibernate.LazyInitializationException

2024-02-09

我们一直偶尔会出现这个问题,但现在我每次都可以重现它。我正在增加自定义论坛上的查看计数器,这会导致错误:

NHibernate.LazyInitializationException:未能延迟初始化集合,没有会话或会话被关闭

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

.Not.LazyLoad()

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

NHibernate.LazyInitializationException:无法初始化代理 - 无会话。

所以,然后我把懒惰装载上的结拿出来,现在我回到了第一个方向。仅当我增加此视图计数器时才会出错。这是我的基类保存代码的片段:

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

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

hibernate:LazyInitializationException:无法初始化代理 https://stackoverflow.com/questions/345705/hibernate-lazyinitializationexception-could-not-initialize-proxy

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

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

对这个问题的进一步研究是,在对服务器的一次回调中,如果您执行保存和获取操作,则需要刷新会话。我在保存后进行了刷新,这似乎已经解决了问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NHibernate.LazyInitializationException 的相关文章

随机推荐

  • 在 C# 中使用 WebClient 有没有办法在重定向后获取站点的 URL?

    使用 WebClient 类 我可以轻松获取网站的标题 WebClient x new WebClient string source x DownloadString s string title Regex Match source
  • 如何使用具有自动完成和建议功能的 UISearchBar 搜索位置?

    我正在开发一个应用程序 用户可以在其中搜索兴趣点 选择搜索结果 然后 MKMapView 将以结果坐标为中心 我的问题是如何实现自动完成 我研究过MKLocalSearch and MKLocalSearchRequest 这似乎是 App
  • .NET MAUI 边框和框架之间的区别

    NET MAUI 中的边框和框架之间的功能区别是什么 边界的总结文档 https learn microsoft com en us dotnet maui user interface controls border is NET 多平台
  • GDB:如何在调试期间检查当前行号

    使用 GDB 调试时如何检查当前停止的行号 我本以为这是显而易见的 也许确实如此 但我没有在GDB 备忘单 http darkdust net files GDB 20Cheat 20Sheet pdf 一些挖掘揭示了以下方法 frame
  • 查找函数调用的源代码行

    我构建了一个自定义日志记录实用程序 它显示日志消息和日期时间 我想在调用该函数的源代码中添加行号 有没有办法确定特定 javascript 函数被触发的 HTML 源代码的哪一行 编写了一个日志库 log4javascript http l
  • 如何防止ngInfiniteScroll在初次触发后被多次触发?

    我正在使用 ngInfiniteScroll 在我的网站上启用无限滚动 它部分地按预期工作 一旦我滚动到页面底部 它就会调用我希望它调用的方法来显示更多帖子 除了它在触发一次后不断调用帖子而没有结束 有谁知道这可能是什么原因造成的 这就是我
  • 我应该更新我的 npm 版本还是使用 node.js 提供的版本?

    我有一个使用 node js 14 16 0 的项目 我和我的团队成员都使用该版本 我使用 npm 6 14 11 我的团队成员使用 npm 7 x x 这会导致 package lock json 不同 这lockFileVersion我
  • 为什么我的 xcode 构建总是转到 iPad 模拟器而不是 iPhone 模拟器?

    我刚刚安装了 Apple 的最新 SDK 因此我可以开始学习 iPhone iPad 应用程序开发 然而 我遇到了一个愚蠢的问题 我的所有构建都在 iPad 模拟器而不是 iPhone 模拟器中运行 而且我不知道如何更改它 目前 iPhon
  • Excel 中用于 CSV 导入的相对路径

    我有一个 Excel 工作簿 可以自动更新 CSV 文件中的工作表 这些从硬编码文件夹 c temp premiumreports name of CSV file csv 中提取数据 此方法迫使我每次都将所有内容放入 c temp pre
  • 来自 ngFor angular2 的拼接元素

    我正在从后端请求位置列表并将其用于ngFor但是我想删除第一个数组元素 说我要删除Id 0所以在我看来不会这样li元素 这是我正在渲染并想要删除的列表数组StoreHouse Id 0 StoreLocation StoreHouse Id
  • ckeditor 不读取媒体嵌入代码

    我使用 ckeditor 的媒体嵌入插件 它工作正常 代码正确保存在数据库和 youtube soundcloud 等中 页面上播放器显示正常 但是 当用户进入他可以编辑信息的管理页面时 内部和带有标签的文本不会显示 因此当用户单击 保存
  • 指向零长度数组的指针的属性

    Consider int main auto a new int 0 delete a So there s no memory leak 在复制初始化和删除之间 是否允许读取指针a 1 此外 该语言是否允许编译器设置a to nullpt
  • 如何在 Azure API 管理中导入 swagger

    我看到一些文章和视频 其中导入了 Swagger 但随着新的 UI 更改 我无法找到导入 Swagger 的位置 在视频参考中 它显示在 WADL 或 Swagger 选项中 现在我看不到 Swagger 选项 这个选项被删除了吗 您可以使
  • 通过 MSBuild 构建 Visual Studio 2015 C++ 项目 (v140) 失败 - 找不到 v140

    我并排安装了 Visual Studio 2013 和 2015 我刚刚将组合解决方案 C C C CLI 升级到 2015 并将 Platform Toolset 设置为 v140 Visual Studio 中的构建工作正常 但无法从
  • 查询 XML 而忽略名称空间?

    我试图在忽略命名空间的同时查询 XML 因为结果集有多个命名空间 我已经到达 DataSets 节点 但我不知道如何获取多个 DataSourceName CommandType CommandText 理想情况下我想要 DataSetNa
  • 通过OData读取数据:如何通过curl/RCurl指定身份验证方案?

    我想通过 HTTPS 读取一些数据OData http www odata org 连接和数据源需要Basic认证方案 我很熟悉平常的curl http curl haxx se RCurl http cran r project org
  • 无法使用项目列表(数组)读取自定义事实

    我创建了自定义事实 gt etc ansible facts d hdfs fact 当我使用以下命令运行剧本时 debug var ansible local hdfs run once true 我如预期得到以下答案 PLAY all
  • 管理 Google 地图 API 密钥

    我的应用程序使用大量 MapView 屏幕 我正在尝试找出如何管理调试环境和生产环境之间的 API 密钥 显然 无法更改 Eclipse 中的调试应用程序密钥 因此我必须在该环境中使用调试映射 API 密钥 相反 如果没有生产应用程序密钥
  • AS3 处理任意大文件

    我正在尝试读取 AS3 中的一个非常大的文件 但我遇到了运行时崩溃的问题 我目前正在使用文件流 http help adobe com en US Flex 4 0 langref flash filesystem FileStream h
  • NHibernate.LazyInitializationException

    我们一直偶尔会出现这个问题 但现在我每次都可以重现它 我正在增加自定义论坛上的查看计数器 这会导致错误 NHibernate LazyInitializationException 未能延迟初始化集合 没有会话或会话被关闭 此错误发生在对象