我在LINQ中做查詢時遇到了麻煩。這在SQL中是非常簡單的。無法訪問LINQ中的中間表與實體框架?
這裏是我的表:
這是我要轉換爲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很抱歉,如果這是一個非常基本的問題,但我可以」找到任何地方的答案!
謝謝
不知道 「更簡單」 的版本更簡單... :-) – joce 2013-03-05 23:24:03
我同意@Joce,the第一個是更簡單!這就是訣竅,現在我明白了一點點更好!謝謝 – 2013-03-05 23:29:27
耶對不起延遲,我在我的評論後立即嘗試,但它太早(需要等待x分鐘) – 2013-03-06 13:25:57