感情是谁在左边就是左连接

如果向内连接,取消中间的表

 

1、左连接:

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                        
};

 2、右连接:

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
};

 3、内连接:

 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

                 select new TB_USER_ZYK
                 {
                    USER_ID = t.USER_ID,
                    USER_NAME = t.USER_NAME,
                    USER_PASSWORD = t.USER_PASSWORD,

                 };

//这个里面使用了匿名表,未明确TB_USER_ZYK

var innerjoin = from a in xysysDbContext.teachers
join b in xysysDbContext.teacher2Students
on a.Id equals b.teacher.Id
select new
{
fdyid = a.Id,
fdyxm = a.Name,
fdyflag = b.Id
};

 

posted on 2021-01-19 09:32  qqhfeng16  阅读(167)  评论(0编辑  收藏  举报