LINQ查询C#ASP

时间:2013-06-14 11:02:53

标签: c# asp.net sql asp.net-mvc linq

在英语中我试图:“返回一份没有TeamID的人员名单

我在Person表和Team表之间有多对多的关系,因此Person的每个实例都有一个他们所属的团队列表。 (每个团队也有一个人员名单)

Table
这里一个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;

2 个答案:

答案 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;