2017-02-13 9 views
0

마지막으로 쿼리의 결과 인 내 오류를 추적합니다. Restrictions.In을 사용하여 nhibernate 쿼리가 있습니다. 반환 된 쿼리 결과가 즉시 오류를 throw하지 않으면 쿼리는 한 번 실행됩니다. 사용할 수있는 또 다른 제한 사항이 있습니까? 내가 linq 쿼리를 작성했다면 .Any를 사용하여 bool 값을 반환하고 거기에서부터이 인스턴스에서 할 수있는 비슷한 것이 있는지 알고 있는가?Nhibernate Restrictions.In Error

부탁해은 Trades가 대신 .WhereRestrictionOn()를 사용할 수있는 개체의 목록입니다 있다고 가정

 myQuery.JoinQueryOver(x => x.Car) 
      .Where(Restrictions.In("VIN", 
       Trades.Where(x => x.Car.Make.ToLower() == carMake.ToLower()) 
        .Select(x => x.Car.PrimaryVIN) 
        .ToList())); 
+0

'거래'란 무엇입니까? 다른 엔티티? –

답변

0

에 전달됩니다. 이것을 시도해보십시오. (가독성을 높이기 위해 코드를 분할했습니다) :

var vinsWithCarMake = Trades 
    .Where(x => x.Car.Make.ToLower() == carMake.ToLower()) 
    .Select(x => x.Car.PrimaryVIN) 
    .ToList<string>(); 

var carAlias = null; 
var result = myQuery.JoinAlias(x => x.Car,() => carAlias) 
     .WhereRestrictionOn(() => carAlias.VIN).IsInG<string>(vinsWithCarMake) 
     .List();