好吧,我正在使用实体框架,代码优先方法。我有以下实体类:
class EntityA
{
public int EntityAId { get; set; }
public virtaul ICollection<EntityB> Bs { get; set; }
}
class EntityB
{
public int EntityBId { get; set; }
public bool Foobar { get; set; }
public virtual EntityA A { get; set; }
}
鉴于DbSet<EntityA>
,我试图找出如何查询EntityA
中所有EntityB
的所有Bs
的信息。 Foobar
true
等于{{1}}。
如何使用EF流畅查询API执行此查询?谢谢!
答案 0 :(得分:2)
var entities = dbSet.Where(m => m.Bs.Any(b => b.Foobar == true).ToList();
应该为你做。基本上 - 给我所有EntityAs,它有任何子实体B,其中foobar等于true。有关更多信息,请查看Linq和Linq to Entities。
征求意见:
var dbSet= your dbset of EntityB
var id = the id of the EntityB you're querying with
var entities = dbSet.Where(m => m.A.Bs.Any(b => b.EntityBId == id)).Select(m => m.A).ToList();
再次,让我们说出来 - 从EntityB的集合中给我每个EntityA,其中EntityB的A导航道具包含id等于给定id的任何EntityB。由于您要查询一组EntityB,您必须选择该实体的A. Geeze这很难说;和bs一样多。