[英]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)
在这种情况下,您不能使用前一个问题中提出的实体拆分。 实体拆分要求映射实体的两个部分都存在,因此它使用内部连接。 修改您的数据库以使每个实体都具有两个部分,或者删除实体拆分并直接使用Table1
和Table2
来控制创建的查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.