如何使用Entity Framework查询包含特定相关实体的实体?

时间:2014-02-24 17:39:38

标签: entity-framework

我正在使用Entity Framework 6并拥有以下实体......

class Foo
{
  public int FooId { get; set; }
  public virtual ICollection<Bar> Bars { get; set; }
};

class Bar
{
  public int BarId { get; set; }
  public virtual Foo Foo { get; set; }
};

我正在使用存储库模式,Foo是顶级实体,而Bar只能通过Foo关系实现。所以,我没有直接DBSet<Bar>

我的目标是使用Foo查询DBSet<Foo>BarBarId的父级。换句话说,如果1Foo,我希望得到Bar的{​​{1}}。

有关如何执行此操作的任何建议?谢谢!

1 个答案:

答案 0 :(得分:2)

我认为你正在寻找这样的东西:

int barId = 1;

var query = from f in context.Foos
            where f.Bars.Any(b => b.BarId == barId)
            select f;

var result = query.FirstOrDefault();