首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NHIbernate:Restriction.In和Restriction.InG之间的区别

在 NHibernate 中,Restriction.InRestriction.InG 是两种不同的方法,用于在查询中应用 "IN" 条件。它们之间的主要区别在于它们处理集合参数的方式。

  1. Restriction.In

Restriction.In 方法接受一个数组或集合作为参数,并将其中的每个元素都包含在 "IN" 条件中。例如:

代码语言:csharp
复制
var numbers = new[] { 1, 2, 3 };
var result = session.QueryOver<MyEntity>()
    .WhereRestrictionOn(x => x.Number).In(numbers)
    .List();

在这个例子中,查询将返回 Number 属性值为 1、2 或 3 的所有实体。

  1. Restriction.InG

Restriction.InG 方法接受一个 DetachedCriteria 对象作为参数,并将其作为子查询来应用 "IN" 条件。例如:

代码语言:csharp
复制
var subquery = DetachedCriteria.For<MyEntity>()
    .SetProjection(Projections.Property<MyEntity>(x => x.Id))
    .Add(Restrictions.EqProperty("Id", "MyEntityAlias.Id"));

var result = session.QueryOver<MyEntity>()
    .Where(Restrictions.InG("Id", subquery))
    .List();

在这个例子中,subquery 是一个子查询,它返回 MyEntity 表中所有实体的 Id 属性值。主查询将返回 Id 属性值在子查询结果中的所有实体。

总结:

  • Restriction.In 接受一个数组或集合作为参数,将集合中的每个元素都包含在 "IN" 条件中。
  • Restriction.InG 接受一个 DetachedCriteria 对象作为参数,将其作为子查询来应用 "IN" 条件。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Entity Framework NHibernate区别

从个人感受上看,NHibernate显然是从上而下(Top-down)方式,天然POCO支持就是最好佐证。...其实ORMDP存在就是要实现这两个方向能力支持,否则就没有存在必要,因为自上而下(Top-down)自下而上(Bottom-up)两种方式由来已久,解决这两个方向问题,ORM工具或E/R模型编程未必是最好方式...同样仔细想想Entity Framework(也许NHibernate也是)在从外向里(Outside-in)方向也提供了支持,这也就是Dsimmons为代表EF大佬经常说,Entity Framework... Data Service 共享重用),另外一个方面SQL Server功能再逐渐增强以及新近LINQ等数据库+DP功能混杂爆发,都在另外一个角度朝从下向上推进,这种情况下Mapping是可以限定在某些功能场景...相反从里到外(Inside-out)方式,我认为是比较困难,先假设我们先拥有一种万能Mapping/ORM技术或工具,然后我们再使用它来连接现实世界/OPP和数据存储/数据库之间变化gap,这个

46650

Entity Framework NHibernate区别

从个人感受上看,NHibernate显然是从上而下(Top-down)方式,天然POCO支持就是最好佐证。...其实ORMDP存在就是要实现这两个方向能力支持,否则就没有存在必要,因为自上而下(Top-down)自下而上(Bottom-up)两种方式由来已久,解决这两个方向问题,ORM工具或E/R模型编程未必是最好方式...同样仔细想想Entity Framework(也许NHibernate也是)在从外向里(Outside-in)方向也提供了支持,这也就是Dsimmons为代表EF大佬经常说,Entity Framework...相反从里到外(Inside-out)方式,我认为是比较困难,先假设我们先拥有一种万能Mapping/ORM技术或工具,然后我们再使用它来连接现实世界/OPP和数据存储/数据库之间变化gap,这个...从上面的描述上可以很清楚看出Entity FrameworkNHibernate区别,虽然他们都是ORM工具,他们在ORM各个方向侧重是不一样.

86770

HTTPHTTPS 之间区别

PS: https就是httpTCP之间有一层SSL层,这一层实际作用是防止钓鱼和加密。防止钓鱼通过网站证书,网站必须有CA证书,证书类似于一个解密签名。...另外是加密,加密需要一个密钥交换算法,双方通过交换后密钥加解密。 http与https有什么区别呢?本文详解httphttps区别。...所以httphttps之间区别就在于其传输内容是否加密是否是开发性内容。这也是你为什么常常看见https开头网址都是一些类似银行网站这类网址原因。...HTTPSHTTP区别: https协议需要到ca申请证书,一般免费证书很少,需要交费。...b) 服务端客户端之间所有通讯,都是加密. i. 具体讲,是客户端产生一个对称密钥,通过server 证书来交换密钥,一般意义上握手过程。 ii.

1.4K40

Statement PreparedStatement之间关系区别

大家好,又见面了,我是你们朋友全栈君。 Statement PreparedStatement之间关系区别....关系:PreparedStatement继承自Statement,都是接口 区别:PreparedStatement可以使用占位符,是预编译,批处理比Statement效率高 详解:...接口:public interface PreparedStatement extends Statement之间继承关系 SQL 语句被预编译并存储在 PreparedStatement 对象中...注:用于设置 IN 参数值设置方法(setShort、setString 等等)必须指定与输入参数已定义 SQL 类型兼容类型。...例如,如果 IN 参数具有 SQL 类型 INTEGER,那么应该使用 setInt 方法,问号位置也是应该注意,因为第一个问好位置为1,第二个问号位置为2.以此类推。

1.6K20

IMAPSMTP服务之间区别联系

aoksend将介绍IMAPSMTP服务之间区别联系。1. IMAPSMTP是什么?IMAPSMTP是两种用于处理电子邮件协议。...用户可以通过IMAP在不同设备上同步收件箱、已发送邮件其他文件夹中邮件。3. SMTP服务作用特点SMTP服务是用于发送电子邮件协议,它将电子邮件从发件人客户端发送到收件人邮件服务器。...SMTP是一个简单、文本协议,用于在邮件服务器之间传输电子邮件。4. IMAPSMTP联系IMAPSMTP之间有一些联系。首先,它们都是用于处理电子邮件协议。...其次,它们都涉及到邮件服务器之间通信。最后,它们都是为了提高电子邮件传输效率安全性而设计。5....IMAPSMTP区别尽管IMAPSMTP都是用于处理电子邮件协议,但它们之间有一些明显区别。最主要区别在于,IMAP是用于接收管理邮件协议,而SMTP是用于发送邮件协议。

9900

PAAS、IAASSAAS之间区别

你一定听说过云计算中三个“高大上”你一定听说过云计算中三个“高大上”概念:IaaS、PaaSSaaS,这几个术语并不好理解。不过,如果你是个吃货,还喜欢披萨,这个问题就好解决了!...其所能提供云服务也就是云计算三个分层:PAAS、IAASSAAS,就像披萨店提供三种服务:买成品回家做、外卖到披萨店吃。...一些大IAAS公司包括Amazon, Microsoft, VMWare, RackspaceRed Hat.不过这些公司又都有自己专长,比如Amazon微软给你提供不只是IAAS,他们还会将其计算能力出租给你来...PAAS公司在网上提供各种开发分发应用解决方案,比如虚拟服务器操作系统。这节省了你在硬件上费用,也让分散工作室之间合作变得更加容易。...尽管这些网页服务是用作商务娱乐或者两者都有,但这也算是云技术一部分。

2K20

理解 CI CD 之间区别

大家好,我是 ConardLi,今天我们来看一个研发中非常常见概念,CI/CD,你有了解过它们区别吗?(本文由 wangjie 翻译) 有很多关于持续集成(CI)持续交付(CD)资料。...持续集成持续交付都是开发方法。它们没有链接到特定工具或者供应商。...所以,我们不会陷入使用工具技术术语来解释 CI / CD 陷阱,我们将用最重要东西来解释:人!...开发应用传统方法如下: Alice, Bob, Charlie 在它们各自工作区,工作在3个不同 feature。每个开发人员都以各自方法编写测试代码。...在发布时还没有准备就绪功能,或者根本就不会交付给客户,或者他们进一步推迟发布日期。 发布导致开发人员(想要发布新功能)运营(想要稳定,不想一次部署太多新功能)之间关系变得紧张。

1.4K10

CRM 、DMPCDP之间区别

现在CRM发展也越来越智能,假设你是一名客户,当你拨通支持热线后,不需要做任何操作,客服就会准确知道你所有购买信息历史服务记录,更多用户个人信息需要你验证授权后客服才可以看到。...DMP是把分散第一、第二第三方匿名脱敏数据进行整合纳入一种统一技术平台,对这些数据进行标准化细分,让用户可以把这些细分结果应用现有的互动渠道环境里,获得更好营销效果。...CDP是指以消费者为中心数据管理平台,主要使用第一方数据,将来自不同渠道、不同场景实时非实时客户数据进行采集、整合、分析应用,以实现客户建模、设计营销活动、提升营销效率优化客户体验目标,从而促进企业业绩及利润增长...CDP主要是面向运营销售部门,用于营销自动化销售线索、潜客管理。 CDP最大特点在于整合实名数据,跟CRM相比囊括了未转化客户数据。 对比 CRM、DMPCDP可以通过下图对比: ?...CDP与CRM主要区别在于CDP更偏重于营销,整合了未转化用户数据,而CRM更偏重于销售管理商务流程,重点在转化客户管理,而同样服务于营销管理,DMP更多用来做广告推广,而CDP则负责潜客转化老客找回

2K40

JVM,JRE,JDK之间区别联系

,JVM有自己完善硬件架构,如处理器,堆栈,寄存器等,还有相应指令集.JVM是Java跨平台核心,Java程序通过JVM跨平台,从而使Java程序跨平台.Java程序首选会被编译成字节码文件(....JVM+lib=JRE 什么是JDK JDK是Java核心,包含运行Java运行环境(JRE)一些Java工具及Java基础类库 。...总结 有JVMlib库(JRE)就可以执行字节码(.class)文件(Java程序) 有JRE可以运行(Java程序)但是还不能开发Java程序,需要JDK(JRE+开发工具)才可以 windows...jdk image-20201013130923240 会发现有两个目录,其实只需要jdk1.8.0_91就可以,里面包好了jre,jre1.8.0_91是JDK单独提供一个一个运行环境 两个目录jre区别...相同点:这两个JRE都可以作为Java程序运行环境 不同点:JDK只能使用自己目录自带JRE,不能使用外面单独安装JRE 开发到运行 安装JDK环境,调用本地Java api完成业务代码,通过

86210

【技术分享】SparkHadoop之间区别

大数据开发中SparkHadoop作为辅助模块受到了很大欢迎,但是SparkHadoop区别在哪?哪种更适合我们呢,一起了解一下它们之间区别。...Hadoop还会索引跟踪这些数据,让大数据处理分析效率达到前所未有的高度。Spark,则是那么一个专门用来对那些分布式存储大数据进行处理工具,它并不会进行分布式数据存储。 ?...Spark与Hadoop对比: 对比Hadoop: 性能上提升高于100倍。 Spark中间数据存放在内存中,对于迭代运算效率更高,进行批处理时更高效。 更低延时。...Hadoop存在如下一些缺点: 表达能力有限 磁盘IO开销大 延迟高 任务之间衔接涉及IO开销 在前一个任务执行完成之前,其他任务就无法开始,难以胜任复杂、多阶段计算任务 Spark在借鉴Hadoop...相比于Hadoop MapReduce,Spark主要具有如下优点: Spark计算模式也属于MapReduce,但不局限于MapReduce操作,还提供了多种数据集操作类型,编程模型比Hadoop

92520

String、StringBuffer、StringBulider之间联系区别

首先,我们大概总体解释一下这三者区别联系 String值是不可变,这就导致每次对String操作都会生成新String对象,不仅效率低下,而且大量浪费有限内存空间。...StringBuffer是可变类,线程安全字符串操作类,任何对它指向字符串操作都不会产生新对象。...StringBuilderStringBuffer类功能基本相似,唯一区别就是StringBuilder不是线程安全。 下面具体看看: 1....StringBuffer 类 StringBuffer是可变类,线程安全字符串操作类,任何对它指向字符串操作都不会产生新对象。...3.StringBuilder  StringBufferStringBuilder类功能基本相似,主要区别在于StringBuffer类方法是多线程、安全,而StringBuilder不是线程安全

98480

JDK,JRE,JVM之间区别联系

JDK,JRE,JVM之间区别联系 JDK(Java SE Development Kit),Java标准开发包,它提供了编译、运行Java程序所需各种工具资源,包括Java编译器、Java运行时环境...,以及常用Java类库等。...JVM(Java Virtual Machine),Java虚拟机,是JRE一部分,它是整个java实现跨平台最核心部分,负责运行字节码文件。...另外,JVM在执行Java字节码时,需要把字节码解释为机器指令,而不同操作系统机器指令是有可能不一样,所以就导致不同操作系统上JM是不一样,所以我们在安装JDK时需要选择操作系统。...简而言之,JVM提供了一个运行Java程序虚拟环境,JRE包含了运行Java程序所需一切,而JDK不仅包含了JRE,还提供了用于Java开发工具。

13010

软链接硬链接 之间区别

软硬链接区别: 1)默认不带参数情况下,ln命令创建是硬链接。 (ln -s 创建软链接) 2)硬链接文件与源文件inode节点号相同,而软链接文件inode节点号与源文件不同。...3)ln命令不能对目录创建硬链接,但可以创建软链接,对目录软链接会经常被用到。...4)删除软链接文件,对源文件及硬链接文件无任何影响; 5)删除文件硬链接文件,对源文件及软链接文件无任何影响; 6)删除链接文件原文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状);...7)同时删除原文件及其硬链接文件,整个文件才会被真正删除。...8)很多硬件设备中快照功能,使用就类似硬链接原理。 9)软链接可以跨文件系统,硬链接不可以跨文件系统。 保持更新,转载请注明出处。

1.3K10

TCPIP、HTTP、Socket之间区别联系

Part1前言 经常在笔试、面试或者工作时候听到这些协议,虽然以前没怎么涉及过,但至少知道这些是网络编程密不可分知识,作为一个客户端开发程序员,如果可以懂得网络编程的话,他作用能力肯定会提升一个档次...,赶紧学啊,觉得对就要赶紧开个头,先把TCP/IP、HTTP、Socket都是些什么东西以及它们之间区别搞清楚再说!...套接字之间连接过程分为三个步骤:服务器监听,客户端请求,连接确认。 1、服务器监听 服务器端套接字并不定位具体客户端套接字,而是处于等待连接状态,实时监控网络状态,等待客户端连接请求。...Part5TCPUDP区别 1、TCP是面向连接 虽然说网络不安全不稳定特性决定了多少次握手都不能保证连接可靠性,但TCP三次握手在最低限度上(实际上也很大程度上保证了)保证了连接可 靠性...知道了TCPUDP区别,就不难理解为何采用TCP传输协议MSN比采用UDPQQ传输文件慢了,但并不能说QQ通信是不安全,因为程序员可以手动对UDP数据收 发进行验证,比如发送方对每个数据包进行编号然后由接收方进行验证啊什么

85700
领券