zoukankan      html  css  js  c++  java
  • linq left join ,inner join ,crossjoin

    inner join :

    linq 默认使用Inner Join的链接方式,如下面的表达式一样:

     

     Left Join:

    左链接返回左表的全部数据,以及右表中满足链接条件和不满足链接条件的数据,不满足的取字段值,

    在一对多的的情况下主表的数据会被重复,

    左外链接的实现方式如下,注意这里面和上面的写法不同点在于,链接之后做了一个Into n,n这个时候就是一个SalesOrderDetails的列表,

    如果你想返回SalesOrderDetails的数据,你需要再增加一步 from b2 in n.DefaultIfEmpty(),然后通过b2访问SalesOrderDetails的数据列,

    如果想实现右链接只需要把对应表的位置调换一下就可以了,

    orderitemid= b2.Id 这句话翻译成SQL就是给b2.Id取了一个别名,

    注意:如果增加一句d=b2,那么生成的SQL语句就会像下面那样,产生非常繁琐的SQL语句,

    Cross Join

    笛卡尔乘积

     

    Cross

  • 相关阅读:
    一份简单的自我评述
    从诞总那儿得到的一些感悟
    2021秋软件工项目选题
    LeNet 网络进行猫狗大战
    不平行的直线
    切长条
    纪念品分组
    奇♂妙拆分
    Qt 一些日期格式转换不精确
    windbg 查看崩溃日志
  • 原文地址:https://www.cnblogs.com/LittleFeiHu/p/7102000.html
Copyright © 2011-2022 走看看