2016-10-13 3 views
2

Wie mache ich eine entspricht Zustand in einem äußeren Join in Nhibernate/QueryOver/ICriteria?Gleichen Bedingungen in Outer-Joins mit NHibernate ICriteria/QueryOver Abfrage

Die einzige Möglichkeit, surveyRequest.Survey.Id mit surveyID unten zu vergleichen, ist mit IsIn.

SystemUser systemUser= null; 
SurveyRequests surveyRequest = null; 

var query = Session.QueryOver<SystemUser>(() => systemUser) 
    .Left.JoinAlias(
     () => systemUser.SurveyRequests, 
     () => surveyRequest, 
     Restrictions.On(()=>surveyRequest.Survey.Id).IsIn(new object []{surveyID })) 
//             ^^^^ 

(Ich bin Wiederverwendung eines früheren query question.)

Antwort

3

Wir haben den .Where() Teil Restrictions können

var query = Session.QueryOver<SystemUser>(() => systemUser) 
    .Left.JoinAlias(
     () => systemUser.SurveyRequests, 
     () => surveyRequest, 
     //Restrictions.On(()=>surveyRequest.Survey.Id).IsIn(new object []{surveyID })) 
     Restrictions.Where(()=>surveyRequest.Survey.Id == surveyID))