我的数据库里有两张表。一个人和一张教练桌。person表包含所有人员,如果其中一人是coach,那么他的id将位于coach表中。
我需要找到所有不是教练的人…然后把它们贴在一张单子上。
我试过:

var query = from es in gr.people
                            join esh in gr.coaches on es.id equals esh.personID
                            where es.id != esh.personID
                            select es;

而这个:
var query = from es in gr.people
                            join esh in gr.coaches on es.id equals esh.personID
                            where es.id != esh.personID && es.id.hasValue
                            select es;

但最后一个并没有那么高。到目前为止还没有成功:(
有谁能帮我或给我个提示吗??

最佳答案

尝试:

var result = gr.people.Where(p => !gr.coaches.Any(c => c.personID == p.id));

08-18 20:30