在英语中我试图:“返回一份没有TeamID的人员名单
我在Person表和Team表之间有多对多的关系,因此Person的每个实例都有一个他们所属的团队列表。 (每个团队也有一个人员名单)
这里一个Person 2将有一个ID为1和2的两个Team对象的列表
我正在尝试编写一个查询,如果TeamID为18,则仅返回人员1和3
这是我的尝试:
var query = from p in db.People
where( query2 = from t in p.Teams
where t.ID != teamID
select t)
select p;
答案 0 :(得分:6)
使用基于方法的LINQ语法,这将成为:
var query = db.People.Where(p => !p.Teams.Any(t => t.ID == 18));
答案 1 :(得分:0)
改编自您的代码:
var query =
from p in db.People
where !(from t in db.Teams
select t.ID)
.Contains(p.ID)
select p;