Я думал о том, как написать правильный запрос LINQ или лямбда-выражение для отношения один ко многим, в то время как выполняю надлежащую фильтрацию сущности на стороне «многие» для Entity Framework.
Итак, две сущности:
Рецепт
ID
название
тип [маленький | большой]
Ингредиент
ID
RecipeID
Имя
тип [обычный | экзотический]
Так, как написать запрос LINQ, который выбирает рецепты, которые являются маленькими и имеют экзотические ингредиенты?
Это может выглядеть так:
var smallExoticRecipes = contex.Recipes.Include("Ingredients").Where(recipe => recipe.Type == "small" && ????);
Что мне нужно написать вместо «????»? Или я должен попытаться использовать LINQ-запрос вместо лямбда-выражения?
UPDATE:
В предложении «Выбрать» я хотел бы выбрать только рецепты и их экзотические ингредиенты без обычных, хотя они также могут иметь?
Итак:
Я должен идти так, верно?
.Select(recipe => new { recipeName = recipe.Name, recipeIgredients = recipe.Ingredients.Where(ing => ing.Type == "exotic" });