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

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

  • 相关阅读:
    XML文件操作指南
    数字判断和文本框提交事件,WEB SERVICE等
    【转】JS回车提交
    nchar,char,varchar与nvarchar区别
    .NET对象的序列化
    这是发布的第一篇随笔
    Eclipse!!!!!!!!!!!!!!!!!!
    关于JLink驱动升级后不能使用的解决方法
    Python基本问题笔记
    用Python写的学校图书馆视频下载工具
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/14296309.html
Copyright © 2011-2022 走看看