【发布时间】:2011-04-07 20:34:51
【问题描述】:
我的数据库中有一个多对多的关系。两个结束表是 BlogPost 和 Item,中间的表是 ItemBlogPost。我需要取回与特定项目相关的所有博客帖子。在 SQL 中,我会这样做:
SELECT BlogPost.*
FROM BlogPost
JOIN ItemBlogPost ON BlogPost.ID = ItemBlogPost.BlogPost_ID
WHERE ItemBlogPost.Item_ID = @Item_ID
在 C# 中我有类似的东西:
IQueryable<BlogPost> itemBlogPosts = from b in connection.BlogPosts
where b.Items == item.ID
orderby b.Content.CreateDate descending
select b;
但是,标记为 b.Items 的行没有给我一个 Item 属性列表,并且没有 b.ItemBlogPost 可以查看中间表。我也尝试过b.Items.Contains(item),但这也失败了。如何在 LINQ to EF4 中完成这项工作?
【问题讨论】:
-
如果你设置了多对多的关系,它应该只是
item.BlogPosts,不是吗?
标签: c# entity-framework entity-framework-4 linq-to-entities