Linq左右查询

Linq左右查询

Linq查询相信很多人都对此都是不陌生的了
特别是单表查询和连表查询对于程序员来说是家常便饭了
但是在连表查询的时候我们也会遇到许多问题
类如当你想显示一张表的全部数据同时又需要连表查询的时候
由于连表查询的外键数据不完整也就是存在空的时候
连表查询就会无法查询出全部的数据
就无法查询出你想要的整张表的数据
有什么办法可以解决这个问题吗?
肯定是有的下面我就给大家介绍下能够解决这个问题的左查询
Linq左查询是能够查询显示整张表的数据的
不管连表查询的条件也就是外键是否存在空值
一样可以把连表查询左边的整张表的数据查询出来
如下图就是左查询的代码
在这里插入图片描述
左查询也是在条件连表查询的基础上进行的
如图中可以看出是在条件后加into继续写下去的
into后面接的是自定义命名
也就是将前面的整个条件查询赋值给了后面的自定义命名
然后用自定义命名接着进行查询并且调用了方法DefaultIfEmpty()
DefaultIfEmpty()这个方法他的作用是给条件查询含有null的条件也可以查询出来
并且自动给调用这个方法的表填充默认数据
将右表填充到更左表的数据长度一样为止
这样就可以实现将左表的数据全部查询出来的效果
还有右查询也是更左查询的原理一样的
他们都是调用DefaultIfEmpty()这个方法来进行数据的填充来实现整张表的数据显示的
意思就是不管是左查询还是右查询
如果你想显示哪张表的全部数据
那么另外一张表就调用DefaultIfEmpty()方法进行数据填充
从而实现查询显示全部数据的效果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值