Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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标准API中应用use IN关键字?_Hibernate - Fatal编程技术网

如何在NHibernate标准API中应用use IN关键字?

如何在NHibernate标准API中应用use IN关键字?,hibernate,Hibernate,您好,我正在处理CriteriaAPI,我想使用CriteriaAPI从数据库中获取用户。 它工作得很好,但我想这样写查询 Select * from EMP where empName LIKE '%bhan' or empName LIKE '%HAR' AND dominid=3; 如何在NHiberbate中使用标准API编写此查询您的问题存在一些差异中的与中的不相同,并且不会产生与类似的相同的结果 您可以通过以下方式将NHibernate.criteria.ICriterion对象添

您好,我正在处理
Criteria
API,我想使用
Criteria
API从数据库中获取用户。
它工作得很好,但我想这样写查询

Select * from EMP where empName LIKE '%bhan' or empName LIKE '%HAR' AND dominid=3;

如何在
NHiberbate
中使用
标准
API编写此查询您的问题存在一些差异
中的
中的
不相同,并且不会产生与
类似的
相同的结果

您可以通过以下方式将
NHibernate.criteria.ICriterion
对象添加到
NHibernate.ICriteria
对象

//create the criteria
ICriteria _criteria = CurrentSession.CreateCriteria<Employee>();

//create a disjunction
var disjunction = NHibernate.Criterion.Restrictions.Disjunction();

//form the disjunction
disjunction.Add(NHibernate.Criterion.Restrictions.Like("empName", "bhan", NHibernate.Criterion.MatchMode.Anywhere));
disjunction.Add(NHibernate.Criterion.Restrictions.Like("empName", "HAR", NHibernate.Criterion.MatchMode.Anywhere));

//add the disjunction to the criteria object
_criteria.Add(disjunction);

_criteria.Add(NHibernate.Criterion.Restrictions.Eq("dominid", 3));
_criteria.Add(NHibernate.Criterion.Restrictions.In("Entity_Property", An_Array_Of_Values));