EF Linq中的左连接Left Join查询
时间:2022-07-22
本文章向大家介绍EF Linq中的左连接Left Join查询,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
linq中的join是inner join内连接,就是当两个表中有一个表对应的数据没有的时候那个关联就不成立。
比如表A B的数据如下
from a in A
join b in B on a.BId equals b.Id
select new {a.Id, b.Id}
的结果是
{1,1}
{2,2}
{4,4}
因为3在B表中不存在,所以连接失败,不返回,但是当我们需要返回一个{3, null}的时候怎么办呢,这就是左连接,反之,如果是{null,3}
则是右连接。
from a in A
join b in B on a.BId equals a.Id
into re
from r in re.DefaultIfEmpty()
select new {a.Id, r.Id}//这里B表的数据已经放进re这个IEnumerable中了,所以select的时候从re集合去取
这样即是左连接,返回结果是
{1,1}
{2,2}
{3,null}
{4,4}
可以看到和直接内连接的join差距在多了into,把可能为空的那个集合(表)放到一个集合,然后再对接进行DefaultIfEmpty(),再从这个结果中去取
重点就是into到集合,再DefaultIfEmpty()
- Sass 基础(三)
- 2018年——霍金怎么样谈未来人工智能,地球还有多少时间
- Linux探秘之用户态与内核态
- 微信小游戏重磅上线,H5游戏和页游迎来新天地?
- 名为“闪电比特币”Lightning Bitcoin,LBTC的新型比特币硬叉被释放
- IDHub亮相区块链行业巅峰盛宴 分享网络生活的“进化论”
- 总结:如何加速你的 WordPress 站点?
- 百年老牌的创新之路:看可口可乐如何用AI、大数据颠覆传统营销
- 微信小游戏上线,小程序或将成为未来的营销工具
- WooCommerce 自定义商品价格显示HTML结构
- 借助Github 为第三方WordPress 主题/插件添加“自动更新”功能
- vue-cli#2.0 webpack 配置分析
- 短代码插件S-shortcodes 更新2.4版本:修复font icon的冲突问题
- 景驰落户广州 王劲称不知百度为何指控 四条回应两大疑点
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 谁能想到,我给技术总监“上了一课”
- 设计模式速览
- 序列模型——吴恩达深度学习课程笔记(五)
- 30分钟学会pyecharts数据可视化
- 用Keras从零开始6步骤训练神经网络
- Keras结构化数据预处理范例——Titanic生存预测
- 从原理上搞懂如何设置线程池参数大小?
- Keras图像数据预处理范例——Cifar2图片分类
- Keras文本数据预处理范例——IMDB影评情感分类
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof 使用详解
- Go 垃圾回收
- 如何在SpringBoot中异步请求和异步调用
- 实现 memcached 客户端:TCP、连接池、一致性哈希、自定义协议
- 30分钟学会LightGBM
- 三种计算图