Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
nHibernate抽象标准与动态查询_Nhibernate_C# 4.0_Dynamic - Fatal编程技术网

nHibernate抽象标准与动态查询

nHibernate抽象标准与动态查询,nhibernate,c#-4.0,dynamic,Nhibernate,C# 4.0,Dynamic,我需要做的是在nHibernate中进行查询(完全动态地,我不知道我将拥有多少个对象) 这个查询应该返回特定ID的对象(我得到了List) 有没有办法让限制像这样 Restrictions.Eq("Id",first item from my list of ints).Or("Id",second item) .... and so on. 我知道我可以用abstractCriteria完成,但不知道如何检查我的列表中的对象是否是第一个 那我怎么做呢 感谢您的帮助:)您需要标准中的: ses

我需要做的是在nHibernate中进行查询(完全动态地,我不知道我将拥有多少个对象)

这个查询应该返回特定ID的对象(我得到了
List

有没有办法让限制像这样

Restrictions.Eq("Id",first item from my list of ints).Or("Id",second item) .... and so on.
我知道我可以用
abstractCriteria
完成,但不知道如何检查我的
列表中的对象是否是第一个

那我怎么做呢


感谢您的帮助:)

您需要
标准中的

session.CreateCriteria(typeof(XYZ))
.Add(Expression.In("Id", values))

您需要
标准中的

session.CreateCriteria(typeof(XYZ))
.Add(Expression.In("Id", values))

值是我的int?Thi案例列表中的一些对象的列表。但是请记住,NHibernate将每个值作为参数发送。因此,如果您有一个大数组,您将遇到参数大小限制。nHibernate@Vadim中的大小限制是什么?它不取决于nHibernate中的大小限制,而是取决于您使用的数据库。是的<代码>值
在这种情况下将是整数列表。对于SQL Server,传递的参数限制为2100。值是我的ints?Thi案例列表中某些对象的列表。但是请记住,NHibernate将每个值作为参数发送。因此,如果您有一个大数组,您将遇到参数大小限制。nHibernate@Vadim中的大小限制是什么?它不取决于nHibernate中的大小限制,而是取决于您使用的数据库。是的<代码>值
在这种情况下将是整数列表。对于SQL Server,传递的参数限制为2100。