EntityFramework经典的left join语法

EntityFramework经典的left join语法

大家好,又见面了,我是全栈君。

/*
 * 常常看到有人问linq语法怎样写left join的查询语句,但网上找到的都是简单的两表连接。參考意义有限。
 * 今天最终项目里要用到复杂的多表连接,同一时候含有多个左连接,
 * 恰好又遇到业务中有复杂连接条件,因此整理例如以下。供大家參考:
 */
list = from t1 in Content.table1
       join t2 in Content.table2
         on t1.colum1 equals t2.colum2
       into r1
       from t2 in r1.DefaultIfEmpty()
       join t3 in Content.table3
         on new { pid = t2.colum2,      sid = t2.colum1,     t2.colum3 } //字段类型或值不一致时,
     equals new { pid = t3.colum2 ??

0, sid = t3.colum3 + 1, t3.colum4 } //能够这样统一起来 into r2 from t3 in r2.DefaultIfEmpty() join t4 in Content.table4 on t2.colum5 equals t4.colum1 where t2.id == paramId && string.IsNullOrEmpty(t1.colum2) select new your-result-class-name { //这里写点啥,地球人都知道。

。 }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116076.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cocos2dx触屏响应(单点触摸)CCTouchBegan,CCTouchMove,CCTouchEnd[通俗易懂]

    cocos2dx触屏响应(单点触摸)CCTouchBegan,CCTouchMove,CCTouchEnd[通俗易懂]今天白白跟大家分享一下cocos2dx单点触摸经验。cocos2dx触摸CCTouch类的单点触摸有四个函数CCTouchBegan,CCTouchMove,CCTouchEnd,CCTouchCan

    2022年7月2日
    27
  • Apache日志分析_shell命令行

    Apache日志分析_shell命令行

    2021年10月8日
    30
  • Eclipse汉化教程(各版本通用)「建议收藏」

    Eclipse汉化教程(各版本通用)「建议收藏」Eclipse汉化教程1.确定Eclipse的版本方法一:打开eclipse,在启动画面中可以看到eclipse的版本名称(我的版是Photon),记住这个版本的名称;方法二:在Eclipse启动后,点击菜单栏中的**Help(帮助)>>AboutEclipse(关于EclipseIDE)**会弹出的AboutEclipse窗口,在这里也可以找到当前Ec

    2022年6月6日
    107
  • cuda包卸载_之前安装过cuda卸载不彻底

    cuda包卸载_之前安装过cuda卸载不彻底不小心把/usr/local/cuda删除了,卸载cuda后安装cuda后/usr/local下没有cuda文件夹.运行:sudoapt-getautoremove–purgecuda

    2022年8月6日
    3
  • Android退出APP时如何同时结束APP进程

    Android退出APP时如何同时结束APP进程1.在退出APP的代码逻辑里加入以下代码:ActivityManageram=(ActivityManager)getSystemService(ACTIVITY_SERVICE);am.killBackgroundProcesses(“包名”);//API至少为8才能使用2.添加权限

    2022年7月17日
    13
  • shell脚本实例精讲_shell脚本编程实例

    shell脚本实例精讲_shell脚本编程实例shell是一个应用程序,它连接了用户和Linux内核,让用户能够更加高效、安全、低成本地使用Linux内核,这就是Shell的本质。shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。shell脚本中最重要的就是对shell命令的使用与组合,再使用shell脚本支持的一些语言特性,完成想要的功能。今天给大家分享《shell脚本100例》,包含了90%的shell脚本知识点,想

    2022年9月28日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号