.net linq中包含到实体中的条件

.net linq中包含到实体中的条件,.net,linq,entity-framework,linq-to-entities,.net,Linq,Entity Framework,Linq To Entities,我有一个非常基本的表结构: 职位 邮政标签 邮政标签 post和PostXTags之间以及PostTags和PostXTags之间存在1-n关系 我需要把所有的帖子都贴上标签 PostTags中有一个名为type的字段,我想在其上设置一个过滤器。Include中的每个条件都会遇到此错误: 包含路径表达式必须引用在类型上定义的导航属性。使用虚线路径作为参考导航属性,选择运算符作为集合导航属性。 参数名称:路径 Public IQueryable<Post> GetPosts()

我有一个非常基本的表结构:

职位

邮政标签

邮政标签

post和PostXTags之间以及PostTags和PostXTags之间存在1-n关系

我需要把所有的帖子都贴上标签

PostTags中有一个名为type的字段,我想在其上设置一个过滤器。Include中的每个条件都会遇到此错误:

包含路径表达式必须引用在类型上定义的导航属性。使用虚线路径作为参考导航属性,选择运算符作为集合导航属性。 参数名称:路径

    Public IQueryable<Post> GetPosts()
    {
        return from p in _db.Posts
               select p;
    }

    var posts = GetPosts().Include(p => p.PostXTags.Select(pxt => pxt.PostTag).Where(pt=>pt.Type == 2)).ToList();
Public IQueryable GetPosts()
{
从p in_db.Posts返回
选择p;
}
var posts=GetPosts();

我想你想要实现的是

var posts = _db.Posts.Include("PostXTags.PostTag").
    Where(p => p.PostXTags.Any( pxt => pxt.PostTags.Any( pt => pt.Type == 2 ) ));

出什么事了?例外?错误?错误的结果?