zoukankan      html  css  js  c++  java
  • LINQ的左连接、右连接、内连接

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

     

    多张表的左联接:

    var query = from k in DBContext.KCYD
                 join i in DBContext.ITEM
                 on k.SPXXID equals i.ITEM_ID into g
                 from gc in g.DefaultIfEmpty()
                 join s in DBContext.SPKC
                 on new {SPXXID=k.SpxxId,CKID=k.Ckid} equals new {s.SPXXID,s.CKID} into g1
                 from gc1 in g1.DefaultIfEmpty()
                 select new
                 {
                     ... ...                            
                 };

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

     

    多张表内联

    var rec=from a in 表A

    join b in 表B on a.字段 equals b.字段

    join c in  表C on b.字段 equals c.字段 
    select new item
    {
       item1=a.想要的字段,
    item2=b.想要的字段,
    item3=c.想要的字段,
    }

  • 相关阅读:
    mysqldump详解
    mysql忽略表中的某个字段不查询
    mysqldumpslow基本使用
    xtrabakcup基本用法 安装、全量备份恢复、增量备份恢复
    Ubuntu--磁盘统计
    Ubuntu--硬盘的挂载与卸载
    Ubuntu--文件属性权限管理(command: chmod, chown)
    Ubuntu--useradd指令使用
    Ubuntu--安装sshd开启远程登陆服务
    Ubuntu--虚拟机中Ubuntu系统时间与windows不同步
  • 原文地址:https://www.cnblogs.com/itjeff/p/4159773.html
Copyright © 2011-2022 走看看