繁体   English   中英

使用实体拆分时左连接而不是内连接

[英]Left join instead of inner join when using entity splitting

除了这个问题,我还接受了Ladislav Mrnka 的回答

问题是 Table1 的某些条目没有显示出来。 所以我使用了 sql 服务器分析器,并看到执行的查询使用了INNER JOIN我需要做LEFT JOIN

在表 1 中,我有在表 2 中不匹配的数据,这个数据必须出现。

我该如何解决这个问题?

关键是 DefaultIfEmpty()

var query =
from t1 in Table1
join t2 in Table2
on t1 equals t2 into NewTable
from result in NewTable.DefaultIfEmpty()
select (Your select)

在这种情况下,您不能使用前一个问题中提出的实体拆分。 实体拆分要求映射实体的两个部分都存在,因此它使用内部连接。 修改您的数据库以使每个实体都具有两个部分,或者删除实体拆分并直接使用Table1Table2来控制创建的查询。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM