2010-09-22 60 views
1

我在实体框架(EF)中设置了一个模型,其中有两个表,父和子,在一对多关系中。我有麻烦的地方是用linq写一个查询,我试图检索父级的单个实例,同时过滤父级中的字段和子级中的另一个字段。它看起来像什么如下:根据子值筛选实体框架中的查询

var query = from c in context.ParentTable 
      where c.IsActive == true && c.ChildTable.Name = "abc" 
      select c; 

不幸的是,当我尝试这一点,因为通过智能感知,当我键入c.ChildTable出现没有可用的名为“名称”字段中失败。

任何指导,将不胜感激。

回答

3

这是正确的,因为c.ChildTable是你儿童类型不能不EntityCollection <儿童>。为了使您的查询工作,您需要像这样修改它:

var query = from p in context.ParentTable 
      from c in p.ChildTable 
      where p.IsActive == true 
        && c.Name == "abc" 
      select p;