筛选器 LINQ 实体包含查询

本文关键字:包含 查询 实体 LINQ 筛选 | 更新日期: 2023-09-27 18:37:25

>我有以下两个表

Groups
Id (int)
People
Id (int)
GroupId (int, Groups.Id)
IsSelected (bit)

这将在单个查询中返回所有组及其所有成员(人员)

var grps = myDatabase.Groups.Include("People");

如何编写单个查询,该查询将返回具有已选择的人员的所有组(IsSelected = true)?

筛选器 LINQ 实体包含查询

让我知道这是否有效

    var grps = myDatabase.Groups.Select(g=> new { g, people = g.People.Where(p=>p.IsSelected)});

您需要使用"join"方法,如下所示:

(from g in myDatabase.Groups
 join p in myDatabase.People on g.Id equals p.GroupId
 where p.IsSelected == true
 select g);

这将为您提供所有选择了人员的组。

或查看 .其中()

类似的东西

var grps = myDatabase.Groups.Include("People").Where(x => x.IsSelected); 
//x => !x.IsSelected for false