Entity framework 4 将左侧外部联接查询转换为实体框架查询
我有一个sql语句,我希望能够转换成EF4 它是一个简单的左外连接,看起来像Entity framework 4 将左侧外部联接查询转换为实体框架查询,entity-framework-4,linq-to-entities,Entity Framework 4,Linq To Entities,我有一个sql语句,我希望能够转换成EF4 它是一个简单的左外连接,看起来像 SELECT * FROM EntryDate LEFT OUTER JOIN Member on Member.CardId = EntryDate.CardID 如何使用entity framework 4实现这一点?如果模型中映射了关系,您可以简单地使用导航属性,因为它们始终使用左连接: var data = members.EntryDates; 我希望您没有这种关系,因为carid看起来不像Memb
SELECT *
FROM EntryDate
LEFT OUTER JOIN Member on Member.CardId = EntryDate.CardID
如何使用entity framework 4实现这一点?如果模型中映射了关系,您可以简单地使用导航属性,因为它们始终使用左连接:
var data = members.EntryDates;
我希望您没有这种关系,因为carid
看起来不像Member
或EntryDate
的主键
如果没有导航属性,则必须使用
var query = from m in context.Members
join e in context.EntryDates on m.CardId equals e.CardId into x
from res in x.DefaultIfEmpty()
select new
{
Member = m,
EntryDate = res
};
这只适用于EFv4+,因为EFv1不支持
DefaultIfEmpty
谢谢你,Ladislav,是的,我没有任何导航属性,所以我不得不使用第二个选项