码迷,mamicode.com
首页 > 其他好文 > 详细

linq left join ,inner join ,crossjoin

时间:2017-07-01 13:43:30      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:链接   height   left join   width   itemid   默认   就会   mil   需要   

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

linq left join ,inner join ,crossjoin

标签:链接   height   left join   width   itemid   默认   就会   mil   需要   

原文地址:http://www.cnblogs.com/LittleFeiHu/p/7102000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!