LINQ でクエリを実行できません。これは、SQL の非常に単純なものです。
ここに私のテーブルがあります:
LINQ に変換したいクエリは次のとおりです。
SELECT * FROM Recipe WHERE IDRecipe IN (
SELECT IDRecipe FROM RecipeTag
INNER JOIN Tag ON Tag.IDTag = RecipeTag.IDTag
WHERE Name LIKE '%{0}%')
これが私が試したことですが、問題は奇妙なことに、コンテキストにテーブル RecipeTag が存在しないことです。レシピにあるようですが、db.Recipes.RecipeTagを実行すると存在しません...
var recipeTag = from rt in db.RecipeTag
join tg in db.Tags on rt.IDTag equals tg.IDTag
where tg.Name.Contains(str)
select rt.IDRecipe;
IEnumerable<Recipe> recipesTemp3 = (from recipe in db.Recipes
where recipeTag.Contains(recipe.IDRecipe)
select recipe).ToList();
私はLINQにまったく慣れていないので、非常に基本的な質問であれば申し訳ありませんが、これに対する答えがどこにも見つかりません!
ありがとう