2014-01-06 33 views

回答

0

你的問題寫這樣

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)); 
相關問題