在使用Entity Framework的过程中,有时会有左右连接查询的需要,但 Join方法不能满足此要求,今天给大家分享一下如何通过Linq来实现左右连接。
1、左连接:
var LeftJoin = from emp in employees
join dep in Departments
on emp.DepID equals dep.ID into JoinedEmpDep
from dep in JoinedEmpDep.DefaultIfEmpty()
select new
{
Name = emp.Name,
Department= dep != null ? dep.Name : null
};
2、右连接:
var RightJoin = from dep in Departments
join emp in Employees
on dep.ID equals emp.DepID into joinDepEmp
from emp in joinDepEmp.DefaultIfEmpty()
select new
{
Name = emp != null ? emp.Name : null,
Name = dep.Name
};
3、内连接
var InnerJoin= from emp in Employees
join dep in Departments
on emp.DepID equals dep.ID
select new
{
Name = emp != null ? emp.Name : null,
Name = dep.Name
};
恭祝大家新年快乐,身体健康,阖家幸福!