EFCore中 join on的不同

Posted wnpursue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EFCore中 join on的不同相关的知识,希望对你有一定的参考价值。

当 多条件 left join on 时

LEFT OUTER JOIN

on new { u.UserId, ue.ExamId } equals new { sac.UserId, sac.ExamId }
into sac2
from sac in sac2.DefaultIfEmpty()

生成Sql 为 

 ON ([Filter1].[UserId1] = [GroupBy1].[K1]) AND (([Filter1].[ExamId2] = [GroupBy1].[K2]) OR (([Filter1].[ExamId2] IS NULL) AND ([GroupBy1].[K2] IS NULL)))

单条件 on 时 

sql on 没有空值判断

  LEFT OUTER JOIN [dbo].[SysQuestion] AS [Extent3] ON [GroupBy1].[K1] = [Extent3].[QueId]

以上是关于EFCore中 join on的不同的主要内容,如果未能解决你的问题,请参考以下文章

PostgreSQL 中的 SQL JOIN - WHERE 子句中的执行计划与 ON 子句中的不同

sql中join on两个条件怎么写

left join中where与on的区别

创建一个视图,让您向 LEFT JOIN ... ON? 添加条件?

mysql from 逗号 是join的简写吗

mysql left join的深入探讨