linq表链接查询

一、左链接:it

var LeftJoin = from emp in ListOfEmployees 
join dept in ListOfDepartment 
on emp.DeptID equals dept.ID into JoinedEmpDept 
from dept in JoinedEmpDept.DefaultIfEmpty() 
select new  

EmployeeName = emp.Name, 
DepartmentName = dept != null ? dept.Name : null  
};
List

 

若是想实现右链接,就把两个表换一下位置。select

 

二、右链接:语法

var RightJoin = from dept in ListOfDepartment 
join employee in ListOfEmployees 
on dept.ID equals employee.DeptID into joinDeptEmp 
from employee in joinDeptEmp.DefaultIfEmpty() 
select new  

EmployeeName = employee != null ? employee.Name : null, 
DepartmentName = dept.Name 
};
query

 

三、内链接:copy

var query = from t in entitiy.TB_GCGL_ADA_USER 
join p in entitiy.TB_GCGL_ZY_ZYK 
on t.ETPRS_CODE equals p.ETPRS_CODE
co

select new TB_USER_ZYK 

USER_ID = t.USER_ID, 
USER_NAME = t.USER_NAME, 
USER_PASSWORD = t.USER_PASSWORD,
join

};new

 

 

左连接或右连接,使用DefaultIfEmpty()语法,采用些语法前须要用到into语法

copy自他人连接