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 子句中的不同