首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >NHibernate:如何测试多对一关系是懒惰的?

NHibernate:如何测试多对一关系是懒惰的?
EN

Stack Overflow用户
提问于 2010-05-20 19:40:56
回答 1查看 396关注 0票数 1

我有一个简单的多对一关系(订单有一个下订单的客户)。下面是我的订单映射中的except:

代码语言:javascript
运行
AI代码解释
复制
<many-to-one name="Customer" column="FK_CUSTOMERS" class="MyApp.Customer, MyApp" 
not-null="true" lazy="proxy" cascade="none" />

然而,以下内容并未通过:

代码语言:javascript
运行
AI代码解释
复制
configuration.GetClassMapping(typeof(Order))
  .ReferenceablePropertyIterator.FirstOrDefault(p=>p.Name=="Customer")
  .IsLazy
  .ShouldBeTrue();

怎么回事?

EN

回答 1

Stack Overflow用户

发布于 2010-05-20 20:55:12

我正在查看源代码,似乎NH对IsLazy的看法有点怪异。这是2010-01-26的最后一次更改

代码语言:javascript
运行
AI代码解释
复制
get
            {
-               if (propertyValue is ToOne)
-               {
-                   // both many-to-one and one-to-one are represented as a
-                   // Property.  EntityPersister is relying on this value to
-                   // determine "lazy fetch groups" in terms of field-level
-                   // interception.  So we need to make sure that we return
-                   // true here for the case of many-to-one and one-to-one
-                   // with lazy="no-proxy"
-                   //
-                   // * impl note - lazy="no-proxy" currently forces both
-                   // lazy and unwrap to be set to true.  The other case we
-                   // are extremely interested in here is that of lazy="proxy"
-                   // where lazy is set to true, but unwrap is set to false.
-                   // thus we use both here under the assumption that this
-                   // return is really only ever used during persister
-                   // construction to determine the lazy property/field fetch
-                   // groupings.  If that assertion changes then this check
-                   // needs to change as well.  Partially, this is an issue with
-                   // the overloading of the term "lazy" here...
-                   ToOne toOneValue = (ToOne)propertyValue;
-                   return toOneValue.IsLazy && toOneValue.UnwrapProxy;
-               }
+               // NH Specific: Hibernate doesn't make a distinction between
+               // lazy and no-proxy, but NHibernate does. While Hibernate tracks
+               // just whatever a property is lazy, we need to track lazy/no-proxy seperatedly.
+               
                return isLazy;
            }

因此,这取决于您使用的版本,但如果您将此属性映射为noproxy (即.UnwrapProxy)。这给你带来了什么?

代码语言:javascript
运行
AI代码解释
复制
var to1 = configuration.GetClassMapping(typeof(Order))
  .ReferenceablePropertyIterator.FirstOrDefault(p=>p.Name=="Customer")
  .Value as NHibernate.Mapping.ToOne;

to1.IsLazy.ShouldBeTrue();
to1.UnwrapProxy.ShouldBeFalse();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2877216

复制
相关文章
如何获取云API密钥?
云 API 是腾讯云开放生态的基石。通过云 API,只需少量的代码即可快速操作云产品;在熟练的情况下,使用云 API 完成一些频繁调用的功能可以极大提高效率;除此之外,通过 API 可以组合功能,实现更高级的功能,易于自动化, 易于远程调用, 兼容性强,对系统要求低。以下是具体操作步骤:
腾讯云@移动安全
2019/01/18
82.9K42
如何获取云API密钥?
码云(gitee)配置SSH密钥
git 上传错误This oplation equires one of the flowi vrsionsot the NET Framework:.NETFramework
汀丶人工智能
2022/12/01
3.2K0
码云(gitee)配置SSH密钥
OLAINDEX – 获取OneDrive应用 ID 和密钥
在近日,微软调整了 OneDrive 应用机密的方法。在调整过后,需要自行在Azure页面注册应用程序。这相比之前的「一键操作」来说似乎变得有些麻烦,因此我们准备了这篇文章。
怪兽
2022/10/04
2.9K0
OLAINDEX –  获取OneDrive应用 ID 和密钥
密钥用法 增强密钥用法 证书类型
增强密钥用法: OpenSSL 增强密钥用法:
BUG弄潮儿
2022/06/30
2.3K0
密钥详解
在之前的文章中,我们讲到了对称密码,公钥密码,消息认证码和数字签名等密码学的技术,这些技术中都使用到了一个叫做密钥的东西。
程序那些事
2020/07/08
2.3K0
非对称密钥沉思系列(4):密钥交换
密钥交换,也有称作密钥协商,这套机制,最主要的作用是用来得到通信双方的临时会话密钥。
bowenerchen
2023/01/04
7.2K13
非对称密钥沉思系列(4):密钥交换
windows10产品密钥永久(windows激活密钥)
这就是Windows Key Viewer变得有用的时候,因为可以轻松显示产品密钥。
全栈程序员站长
2022/07/28
6.8K0
windows10产品密钥永久(windows激活密钥)
共享密钥加密与公开密钥加密
加密数据的方法可以分为两种:加密和解密都使用相同密钥的“共享密钥加密”和分别使用不同密钥的“公开密钥加密”。
神奇的程序员
2022/04/10
2.9K0
共享密钥加密与公开密钥加密
【计算机网络】网络安全 : 对称密钥分配 ( 密钥分配 | 密钥分配中心 KDC | 对称密钥分配 | 密钥分配协议 | Kerberos 协议 )
③ 密钥分配 : 是管理中的最重要的问题 , 密钥需要通过 安全通道 进行分配操作 ;
韩曙亮
2023/03/28
6.9K0
【计算机网络】网络安全 : 对称密钥分配 ( 密钥分配 | 密钥分配中心 KDC | 对称密钥分配 | 密钥分配协议 | Kerberos 协议 )
vs2012密钥_ultimate2012产品密钥
Microsoft Visual Studio Ultimate 2012 旗舰版 有效注册密钥:YKCW6-BPFPF-BT8C9-7DCTH-QXGWC;KCW6-BPFPF-BT8C9-7DCTH-QXGWC
全栈程序员站长
2022/11/04
3.2K0
linux 密钥登录
使用命令: ssh-keygen -t rsa -b 4096 -C “youremail@qq.com”
CRMEB商城源码
2022/06/21
5.3K0
SSH 密钥类型
GitHub 改变了他们的安全协议,不再允许使用使用 SHA-1 加密算法的 RSA 密钥进行访问,而我目前使用 ssh 默认策略生成的就是这种类型的密钥,结果就是无法提交代码。
宋天伦
2023/10/21
7350
vs2012ultimate密钥_visual studio 2012产品密钥
Visual Studio Express 2012 for Windows Desktop
全栈程序员站长
2022/11/04
1.8K0
office2013产品密钥_office365激活密钥
http://zhidao.baidu.com/question/427413727.html
全栈程序员站长
2022/11/07
2.1K0
1.11 PuTTY密钥认证
修改字体 先选择用户,然后load下,去修改字体,修改后记得save,然后open打开,秘钥用的是一对字符串 秘钥认证 秘钥认证和密码认证,都是一种认证方式。而秘钥使用一对加密的字符串(在客户端放私钥,在服务器上放公钥,私钥和公钥配成一对就能通过) 首先打开putty,然后打开putty文件中的puttygen,然后点击Generate按钮(记得移动鼠标和键盘,否则随机生成字符串较慢); 在框中的是公钥(较长),私钥(较短),他们就是一堆随机的字符串 然后设置密码(也可为空) ——>一旦私钥丢失,会被别人尝
运维小白
2022/01/06
1.5K0
AutoCAD 2023激活密钥
AutoCAD 2023是一款电脑3D制图软件,AutoCAD 2023版本拥有着非常强大的渲染、绘图和三维打印功能,还提供了动态块、文本设定、数据提取、三维导航、截面平面、DWG 比较、云存储连接等完整的功能。
Mac软件分享
2022/08/12
3K0
AutoCAD 2023激活密钥
Mac 生成 SSH 密钥
昨天试用 cursor 时想推送代码到 github ,遇到问题,该用 ssh 方式推送,提示没有配置公钥。
明明如月学长
2023/04/11
3K0
Mac 生成 SSH 密钥
PHP实现码云Gitee的WebHook密钥验证算法
用户通过配置不公开的 WebHook 密钥,在请求时对请求内容签名,服务端在收到请求后以同样的密钥进行签名验证,以确认收到的请求完整且可信任。
沈唁
2020/08/15
1.1K0
PHP实现码云Gitee的WebHook密钥验证算法
Office 2016激活密钥专业增强版如何获取?
Microsoft Office2016版本系统是微软发布的办公软件,我们在使用office软件的时候,会遇到激活问题,激活的解决方法就是通过购买office 2016永久激活密钥来激活office2016系统,我们只有使用office 2016永久激活密钥激活系统,我们才可以放心使用office办公软件。而且,最好是Office中文网购买office 2016永久激活密钥的正版密钥,这样更有保障。
office小助手
2022/05/03
5.3K0
Office 2016激活密钥专业增强版如何获取?
HTTPS 和 SSL/TLS 协议:密钥交换(密钥协商)算法及其原理
前一篇介绍了 SSL/TLS 的身份认证机制。这个机制是为了防止攻击者通过【篡改】网络传输数据,来假冒身份,以达到“中间人攻击/MITM”的目的。   而今天要聊的“密钥协商机制”是:(在身份认证的前提下)如何规避【偷窥】的风险。   通俗地说,即使有攻击者在偷窥你与服务器的网络传输,客户端(client)依然可以利用“密钥协商机制”与服务器端(server)协商出一个用来加密应用层数据的密钥(也称“会话密钥”)。
全栈程序员站长
2021/06/17
10.3K0

相似问题

从android密钥码到java密钥码

22

从CKEditor的扫描码中获取密钥

10

密钥码13和密钥码10不工作

11

使用shiftkey键获取密钥码

30

Javascript密钥码

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档