我有一个sql语句,我希望能够转换为EF4。
它是一个简单的左外连接,看起来像
SELECT *
FROM EntryDate
LEFT OUTER JOIN Member on Member.CardId = EntryDate.CardID
我如何使用实体框架4?
答案 0 :(得分:2)
如果您的模型中存在关系映射,则只需使用导航属性,因为它们始终使用左连接:
var data = members.EntryDates;
我希望您没有这种关系,因为CardId
看起来不像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
。