2009-07-23 3 views
3

기준에 제한을 추가하지 않는 NHibernate 기준을 찾고 있습니다. 그 이유는 일부 입력 매개 변수를 조건에 추가되는 조건으로 변환하는 방법이 있기 때문입니다. 제한을 적용 할 필요가없는 입력 매개 변수의 집합이 있습니다. 그러므로 나는 어떤 종류의 더미 기준을 돌려주고 싶다.실제로 아무것도하지 않는 NHibernate 기준이 있습니까?

NHibernate와 비슷한 것이 있습니까?

최고 감사합니다,
올리버 Hanappi

+0

아무런 제한이 없으며 Type? 그 다음 빈 기준 객체를 반환하십시오! –

답변

0

잘 당신은 'ID'기본 키 인과 기업에 대해 질의하는 경우 Restrictions.IsNotNull 같은 ("ID")을 할 수있는 (그래서 null이 될 수 없다). 논리적 제한이없는 것으로 평가되는 항목은 요구 사항에 따라 사용할 수 있습니다.

0

필요에 따라 조건을 추가 할 수 있으므로 매개 변수가 null이 아닌지 확인하고, null이 아닌 경우 조건을 추가하십시오. 예를 참조하십시오 : Hibernate Criteria Queries

3

당신은 항상 사실이다 빈 연동 해 사용할 수 있습니다에서 찍은의

Criteria cr = session.createCriteria(Employee.class) 
cr.add(Restrictions.like("firstName", "Bob%")); 

if (par_salary.IsNotNullOrEmpty()) 
{ 
    cr.add(Restrictions.eq("salary", par_salary)); 
} 
List results = cr.list(); 

부분 (그것은 해결 "1 = 1").

예 :

ICriterion conditionalCriteria = includeCriteria 
    ? Restrictions.Eq("someEntity.Field", variable) 
    : (ICriterion) Restrictions.Conjuction(); 

var query = Session 
    .CreateCriteria<SomeEntity>("someEntity") 
    .Add(conditionalCriteria) 
    .SetResultTransformer(Transformers.AliasToBean<SomeEntity>()) 
    .List<SomeEntity>();