我在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