2017-02-13 5 views
0

最後に、クエリの結果であるエラーを追跡しました。私はRestrictions.Inを使用してnhibernateクエリを持っています。エラーが返された結果がすぐにエラーをスローしない場合、問題は一度クエリが実行されます。私が使用できるもう一つの制限がありますか?私はlinqクエリを書いていたのですが、.Anyを使用してbool値を返し、そこから移動すると、このインスタンスでも同様のことができますか?Nhibernate Restrictions.In Error

carMakeは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();