Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何查询集合属性中任何项与特定筛选器匹配的实体?_C#_Entity Framework - Fatal编程技术网

C# 如何查询集合属性中任何项与特定筛选器匹配的实体?

C# 如何查询集合属性中任何项与特定筛选器匹配的实体?,c#,entity-framework,C#,Entity Framework,好的,我使用实体框架,代码优先的方法。我有以下实体类: 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

好的,我使用实体框架,代码优先的方法。我有以下实体类:

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; }
}
类实体a
{
public int EntityAId{get;set;}
公共virtaul i集合Bs{get;set;}
}
类别实体B
{
public int EntityBId{get;set;}
公共bool Foobar{get;set;}
公共虚拟实体A{get;set;}
}
给定一个
DbSet
,我试图找出如何查询所有
EntityA
,其中
Bs
中的
EntityB
Foobar
等于
true

如何使用EF fluent查询API执行此查询?谢谢

var entities = dbSet.Where(m => m.Bs.Any(b => b.Foobar == true).ToList();
我应该为你做这件事。基本上-给我所有有子实体B的实体,其中foobar等于true。有关更多信息,请查看Linq和

请发表评论:

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的导航道具包含id等于给定id的任何EntityB。由于您要查询一组EntityB,您必须选择该实体的a。Geeze这很难说;太多的as和bs。

那么这个查询的调整版本呢,它需要所有
EntityA
的子
EntityB
来自给定的
EntityB
集合?@Ryan-我更新了我的答案。正如你所知,为你的每一个问题创建一个新的问题会更好。始终思考如何让未来的用户更容易找到问题的答案。你太棒了!我专门为第二个问题创建了一个问题,在。请随意把你的答案贴在那里,我来核对一下!谢谢