3

我有两个表“Employees”和“EmployeesCompanies”,Employees 包含所有员工的列表,employeescompanies 包含与员工关联的所有公司的列表:

表 1(员工)
员工ID
1
2
3

表 2(员工公司)
员工ID    
1
2

我想返回 3,这是EmployeesCompanies 缺少的记录,这是我正在使用的 linq 代码:

var queryOrphanedEmployees = (from a in db.Employees
join b in db.EmployeesCompanies
on a.EmployeeID equals b.EmployeeID
into outer
from c in outer.DefaultIfEmpty()
select new { a.EmployeeID}).ToList();

但是,这会返回:

1
2

这与我想要的完全相反。

4

1 回答 1

2

如果您正确设置了外键,您应该能够执行此类操作

from e in Employees
where !e.EmployeesCompanies.Any()
select e
于 2013-09-05T15:38:09.290 回答