LINQ查询C#ASP

Jim*_*mmy 2 c# sql linq asp.net asp.net-mvc

在英语中,我试图:"返回一个在团队列表中没有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;
Run Code Online (Sandbox Code Playgroud)

Eri*_*oom 6

使用基于方法的LINQ语法,这将成为:

var query = db.People.Where(p => !p.Teams.Any(t => t.ID == 18));
Run Code Online (Sandbox Code Playgroud)