0
嗨我正在研究Criteria
API,我想通過使用Criteria
API從db中獲取用戶。
它工作正常,但我想通過使用Criteria
API在NHiberbate
如何在NHibernate Criteria API中使用IN關鍵字?
嗨我正在研究Criteria
API,我想通過使用Criteria
API從db中獲取用戶。
它工作正常,但我想通過使用Criteria
API在NHiberbate
如何在NHibernate Criteria API中使用IN關鍵字?
你的問題寫這樣
Select * from EMP where empName LIKE '%bhan' or empName LIKE '%HAR' AND dominid=3;
查詢我如何寫這個查詢有一定的差異IN
是不一樣的,並不會產生與LIKE
相同的結果您可以按以下方式將NHibernate.Criterion.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));
或者您可以將IN
子句添加到條件。
_criteria.Add(NHibernate.Criterion.Restrictions.In("Entity_Property", An_Array_Of_Values));