我正在使用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>
,Bar
是BarId
的父级。换句话说,如果1
为Foo
,我希望得到Bar
的{{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();