2017-01-06 20 views
1

私は特定の製品を選択する必要があるクエリがあると言います。if condition where enumerable inside where節

私はレシピと呼ばれるクラスを使用しています。まず

私は非常に簡単である、削除されていないすべてのreceipesを利用したいと思います:

var recipes = context.Recipes.Where(a=> !a.Deleted); 

今私は、例えば水を含むものを選択するために列挙を通過したいと思います。そのようなものになるでしょう

recipes = recipes.Where(a => a.Ingridients.Where(b => b.Name == "Water")); 

しかし、ここに問題があります。どのようにこれを修正するための任意のアイデア?

答えて

6

利用Anyの代わりに、サブクエリでWhere

recipes = recipes.Where(a => a.Ingredients.Any(b => b.Name == "Water")); 

それは成分の一つとしてWaterを含むすべてのレシピを返します。

+0

これは賢いです。私はそのようなことを試したことを誓う。ありがとうございました! 私は10分後にあなたを受け入れます。 –