Linq 实体框架4.1链接表查询如何实现?

Linq 实体框架4.1链接表查询如何实现?,linq,entity-framework-4.1,Linq,Entity Framework 4.1,我对实体框架比较陌生,我想做一个包含链接表的查询。关于如何使用LINQ进行基本联接查询,有什么建议吗 实体结构 新闻 新闻ID 社区新闻 社区ID 新闻ID 社区 CommunityID如果您使用EDMX编辑器从数据库生成上下文,并且设置了适当的外键约束,您应该能够将这三个表添加到上下文中,它将在新闻和社区之间创建多对多映射 var newsForCommunity = context.News.Where( n => n.Communities.Any( c =&

我对实体框架比较陌生,我想做一个包含链接表的查询。关于如何使用LINQ进行基本联接查询,有什么建议吗

实体结构

新闻 新闻ID

社区新闻 社区ID 新闻ID

社区
CommunityID

如果您使用EDMX编辑器从数据库生成上下文,并且设置了适当的外键约束,您应该能够将这三个表添加到上下文中,它将在
新闻
社区
之间创建多对多映射

var newsForCommunity = context.News.Where(
    n => n.Communities.Any(
        c => c.CommunityId == communityId);

以下是编写查询的另一种方法:

var newsForCommunity = 
(from c in context.Communities
 from n in c.News
 where c.CommunityID == communityID
 select n.NewsID
).ToList();

谢谢你的快速回复。EDMX编辑不会显示导航属性。这就是我到目前为止得到的_context.NewsViews.Where(n=>n.NewsCommunities.Any(c=>c.Community\u ID==communityID);但communityID似乎破坏了它。communityID来自何处?@Eric:这只是一个示例,演示了如何跨链接表进行查询。
communityID
在示例中只是一个变量。您可以将其替换为您试图获取新闻的某个社区的ID。