作为this问题的补充,我接受了Ladislav Mrnka's answer。
问题是Table1的某些条目没有显示出来。所以我使用了sql server profiler,看到执行的查询使用INNER JOIN
我需要做的LEFT JOIN
。
在表1中,我有表2中没有匹配的数据,这些数据必须出现。
我该如何解决这个问题?
答案 0 :(得分: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)
答案 1 :(得分:1)
在这种情况下,您不能使用前一个问题中提到的实体拆分。实体拆分要求映射实体的两个部分都存在,因此它使用内连接。修改数据库以使每个实体具有两个部分或删除实体拆分,并直接使用Table1
和Table2
来控制已创建的查询。