zoukankan      html  css  js  c++  java
  • linq的左连接右连接内连接用法

    1、左连接:

    var LeftJoin = from e in ListOfEmployees
    join d in ListOfDepartment
    on e.DeptID equals d.ID into JoinedEmpDept
    from d in JoinedEmpDept.DefaultIfEmpty()
    select new                        
    {
    EmployeeName = e.Name,
    DepartmentName = d!= null ? d.Name : null                        
    };

    2、右连接:

    var RightJoin = from d in ListOfDepartment
    join e in ListOfEmployees
    on d.ID equals e.DeptID into joinDeptEmp
    from e in joinDeptEmp.DefaultIfEmpty()
    select new                          
    {
    EmployeeName = e!= null ? e.Name : null,
    DepartmentName = d.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 list = (  
        from u in dc.userinfos  
            join j in dc.jobs on u.job equals j.jid into j_join  
        from x in j_join.DefaultIfEmpty()  
            join c in dc.cities on u.city equals c.cid into c_join  
        from v in c_join.DefaultIfEmpty()  
        select new  
        {  
            id = u.id,  
            name = u.name,  
            jname = x.jname,  
            cname = v.cname,  
            /*u1=u,x1=x,v1=v*/  
            //不要用对象的方式 因为对象可能为null那么对象.属性就会抛异常  
        }  
        ).ToList();  
  • 相关阅读:
    异常机制和File类
    《JAVA程序设计》_第五周学习总结
    20165214 第五周学习任务
    20165214 第四周学习任务
    20165214 第三周学习任务
    20165214 预备作业3 Linux安装及学习
    20165313 预备作业3 Linux安装及学习
    学习基础和C语言基础调查
    20165313 我期望的师生关系
    int *ptr=(int *)(&a+1)
  • 原文地址:https://www.cnblogs.com/sdya/p/4377794.html
Copyright © 2011-2022 走看看