2012-05-08 1 views
2

안녕하세요, 프로그래밍 방식으로 nhibernate에서 코드 오버레이를 작성하는 옵션이 있습니까?nHibernate QueryOver 빌드는 프로그래밍 방식으로 구현됩니까?

얼마나 많은 제약이 있을지 모르겠다. 얼마나 많은 테이블을 내가 automat를 만들어서 객체 목록에서 쿼리를 만들 것인지 알 수 없다.

+2

QueryOver 단지 형 안전, magic-을 문자열을 사용하지 않는 기준 쿼리 작성 방법, 그렇습니다 ... 기준을 사용하여! – HackedByChinese

+0

구체적으로 다루고있는 것을 보여줄 수 있습니까? 이런 종류의 일은 가능한 일입니다. –

답변

5

동적 제한에 대해 얘기하는 경우에 당신은 할 수 :

var query = _session.QueryOver<Something>(); 
if(someterm!=null) 
    query.Where(x=>x.SomeTerm==someTerm); 

if(someotherterm!=null) 
    query.Where(x=>x.SomeOtherTerm==someotherterm); 

var results = query.List(); 

당신이 좋아해야하는 경우도 동적으로 가입 할 수 :

if(something!=null){ 
    SomeReference srAlias = null; 
    query.JoinAlias(x=>x.SomeReference,()=>srAlias, JoinType.LeftOuterJoin) 
     .Where(x=>srAlias.Something==something); 
} 
관련 문제