NHibernate 防止延迟加载不匹配的引用

2024-02-19

我对 NHibernate 有很大的疑问。我有从 Table1 到 Table2 的引用,并且我希望 NHibernate 在 Table2 中找不到相应记录时,不要针对 Table2 发出 SELECT 语句,我不知道,要确保它实际上不在那里。

我尝试过添加修饰符,例如.LazyLoad(Laziness.False) and .NotFound.Ignore()参考我的参考,但是 NHibernate 带着极端的偏见愉快地忽略了我的命令,发出它的 select 并破坏了我的代码。


NHibernate 尝试加载“不存在”是正确的。它must去做。

如此处所述Ayende - NHibernate 映射 http://ayende.com/blog/3938/nhibernate-mapping-many-to-one(摘录):

12) 未找到是另一个legacy功能,它控制 NHibernate 如何 当它发现无效的外键时的行为。也就是说,一个值 指向一个不存在的实体。默认情况下,这会触发 错误,因为这通常表明数据库有问题,但是 对于旧数据库,您可以告诉它将属性值设置为 改为 null。

可以在这里找到:使用 Ignore.NotFound 延迟加载 NHibernate https://stackoverflow.com/a/5666325/1679310(摘录):

当您指定 .NotFound().Ignore() 时,这会强制实体 急切加载并且不能用 .LazyLoad() 覆盖。 NHibernate 这样做是因为它必须确保这种关系 存在或不存在,因为您不依赖数据库来 强制执行这一点。

和这里为什么 Nhibernate 不会延迟加载我的多对一关系? https://groups.google.com/forum/#!topic/nhusers/yT3Peh8bA_Q,何塞·F·罗马尼洛 说:

这是你的问题,nhibernate必须确定,发票 每个注册存在或不存在。

我强烈建议您解决数据问题并删除 not-found=“忽略”属性。这是一件坏事。

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

NHibernate 防止延迟加载不匹配的引用 的相关文章

  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • Cmake 链接共享库:包含库中的头文件时“没有这样的文件或目录”

    我正在学习使用 CMake 构建库 构建库的代码结构如下 include Test hpp ITest hpp interface src Test cpp ITest cpp 在 CMakeLists txt 中 我用来构建库的句子是 f
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • FindBy 注解用于查找 WebElements 列表

    在 java 中 我使用这样的代码来获取具有相同标识符的 WebElements 列表 FindBy how How CLASS NAME using name private List
  • MongoDB 批量写入多个 updateOne 与 updateMany

    我在某些情况下构建了批量写入操作 其中某些文档具有相同的操作update对象 合并过滤器并发送一个是否有任何性能优势updateMany使用这些过滤器而不是多个updateOne是在同一个bulkWrite 显然更好用updateMany超
  • 如何使用 boto3 提交 Mechanical Turk 外部问题

    我正在尝试使用 boto3 以编程方式创建一个关于 Mechanical Turk 的问题 但我似乎做错了一些事情 因为ExternalQuestion所需的数据结构create hit似乎不见了 我尝试像这样创建 HIT import b
  • 节点集群工作人员内存使用情况

    有谁知道是否有一种独立于平台的方法来获取工作人员的内存使用情况 我希望它会像这样工作 console log App process memoryUsage process memoryUsage cluster on online fun
  • Mac OS X(雪豹)上的 NI VISA + pyVisa

    有人使用 NI GPIB 模块在 Snow Leopard 上成功运行 pyVisa 吗 根据我在 NI 网站上阅读的所有论坛 NI VISA 和 pyVisa 的组合似乎无法在 Max OS X 上完成 麻烦的是 NI 网站有 NI VI
  • Facebook SDK 登录对话框出现两次

    在我的项目中 下一个代码向用户源发送一些消息 facebook authorize permissions delegate self facebook dialog feed andParams params andDelegate se
  • JavaScript 按钮样式单击时更改

    我已经将这段 JavaScript 放在一起 但由于我是新手 所以我在代码上遇到了困难 我想要做的是 当单击按钮时 它将更改背景颜色的不透明度 下面的代码执行此操作 但现在我希望再次单击按钮时将其恢复到正常状态 我怎样才能做到这一点 谢谢
  • getter 和 setters 不工作目标 c

    我不能在 Objective C 中这样做吗 interface Foo NSObject int apple int banana property int fruitCount end implementation Foo synthe
  • 当我的编译器告诉我正在使用不安全或未经检查的操作时,这意味着什么?

    我的程序编译得很好 但我的控制台输出以下内容 jGRASP exec javac g CreditGraphics java Note CreditGraphics java uses unchecked or unsafe operati
  • 当存在调试代码时如何禁止 git 提交

    我有一些调试代码 我想确保我不会提交到 Git 就像是 void myImportantFunction while true MyCode ifndef NDEBUG TODO remove before commit std this
  • yytext[0]是什么意思?

    yytext 0 是什么意思 为什么我们要在 lex 和 yacc 程序中使用 我是学习者 所以不要介意这是一个愚蠢的问题 yytext 保存与当前标记匹配的文本 因此 yytext 0 保存与当前标记匹配的文本的第一个字符 有时您有一个可
  • 将文本字段的输入存储在 PHP 变量中[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 将用户从文本字段输入的内容存储在变量
  • “?”有什么作用?意思是下面的语句

    请原谅我的 新手 问题 但是问号 到底是什么 下面这行代码的意思是 self navigationItem leftBarButtonItem title editing NSLocalizedString Done Done NSLoca
  • 设置 (M x N x N) 矩阵对角线的快速方法? Einsum / n 维 fill_diagonal?

    我正在尝试编写基于矩阵的快速 优化的代码 并且最近发现 einsum 作为实现显着加速的工具 是否可以使用它来有效地设置多维数组的对角线 或者它只能返回数据 在我的问题中 我尝试通过对每个方阵 N x N 矩阵中的列求和来设置方阵数组 形状
  • 使用 mapply cbind 两个列表中的元素

    如果我有两个清单 L1 lt list a1 a2 a3 L2 lt list b1 b2 b3 获取新列表的最佳方式是什么 L3 lt list c1 c2 c3 使得 c1 lt cbind a1 b1 c2 lt cbind a2 b
  • 如何在 XSL 中使用 count() 函数 - 尝试计算报告中“A”的数量

    我正在尝试计算数量A 学校报告里有吗 这是报告
  • 使用根 CA 签名者生成自签名证书

    场景 我正在使用 PowerShellWindows Server 2012r2生成根证书并希望使用它在动态生成 和销毁 的开发 测试环境中签署新创建的中间证书和 Web 证书 这些脚本是远程部署的 目的是尽可能保持纯 PowerShell
  • Android IAP的Java服务器端验证

    我想通过我的中央游戏服务器上的 Google API 验证 Android IAP 有很多关于此的部分信息 这让我大吃一惊 我还没有支付 25 欧元成为 Google 开发者 因为我不确定我是否能够让它发挥作用 进行 IAP 时 会返回一个
  • 将 PHP 对象传递给 javascript [重复]

    这个问题在这里已经有答案了 我在 php 中有对象 每个对象代表一个 项目 以及与其关联的所有信息 当用户浏览页面时 这些对象应该传递给javascript 理想情况下 镜像相同的结构 这样我就可以使用 Raphael 在我的网站上将每个项
  • NHibernate 防止延迟加载不匹配的引用

    我对 NHibernate 有很大的疑问 我有从 Table1 到 Table2 的引用 并且我希望 NHibernate 在 Table2 中找不到相应记录时 不要针对 Table2 发出 SELECT 语句 我不知道 要确保它实际上不在