让我说我有一个查询,我必须选择特定的产品.
我有一个名为recipe的类,它具有关于使用的ingridients的数量.
起初我想采取所有未删除的配方,这很容易:
var recipes = context.Recipes.Where(a=> !a.Deleted);
Run Code Online (Sandbox Code Playgroud)
现在我想通过枚举来选择含水的例子.这将是这样的
recipes = recipes.Where(a => a.Ingridients.Where(b => b.Name == "Water"));
Run Code Online (Sandbox Code Playgroud)
但这就是问题所在.知道如何解决这个问题吗?
使用Any而不是Where在子查询中:
recipes = recipes.Where(a => a.Ingredients.Any(b => b.Name == "Water"));
Run Code Online (Sandbox Code Playgroud)
它将返回包含Water作为其中一种成分的所有食谱.