Linq to SQL 左外连接不是
Posted
技术标签:
【中文标题】Linq to SQL 左外连接不是【英文标题】:Linq to SQL Left Outer Join Not 【发布时间】:2013-09-09 12:43:06 【问题描述】:我有两个表“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这与我想要的完全相反。
【问题讨论】:
【参考方案1】:如果你正确设置了外键,你应该可以做这样的事情
from e in Employees
where !e.EmployeesCompanies.Any()
select e
【讨论】:
以上是关于Linq to SQL 左外连接不是的主要内容,如果未能解决你的问题,请参考以下文章