筛选器 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)?
让我知道这是否有效
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