如何在L2E中获得正确的外部联接?

时间:2010-06-11 18:13:26

标签: linq linq-to-entities

我有两个表,我通过VS实体数据模型图工具设置。我正在尝试做一个正确的外连接,它不会返回第二个表的结果。

我已经从图表工具设置了0..1到MANY的关系。

当我运行Linq-To-Entities查询时,它仍默认为INNER JOIN。根据我对实体的理解,如果我使用VS建立关系,当我加入表时,它应该根据我提供的关系自动找出连接语法。它似乎没有这样做。

我使用的是EF v1(不是Linq-to-Sql)。

查询我正在运行:

from s in SomeTable 
join t in SomeOtherTable on s.ID equals t.ID
select new { s.MyFieldName, t.MyOtherFieldName }

1 个答案:

答案 0 :(得分:1)

DefaultIfEmpty()将在Entity Framework 4中提供帮助:

from s in SomeTable 
join t in SomeOtherTable on s.ID equals t.ID into myTemps
from temp in myTemps.DefaultIfEmpty()
select new { s.MyFieldName, temp.MyOtherFieldName }