问题描述
|
除了这个问题,我接受了Ladislav Mrnka的回答。
问题在于Table1的某些条目没有显示。因此,我使用了sql server profiler,看到执行的查询在需要执行
LEFT JOIN
的地方使用了INNER JOIN
。
在表1中,我有数据在表2中不匹配,并且此数据必须出现。
我该如何解决?
解决方法
在这种情况下,您将无法按照上一个问题中的要求使用实体拆分。实体拆分要求映射实体的两个部分都存在,并且因为它使用内部联接。要么修改数据库以使每个实体都有两个部分,要么删除实体拆分,然后直接使用
Table1
和Table2
来控制创建的查询。
, 关键是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)