2
我有一个我希望能够转换成EF4的sql语句。将左外连接查询转换为实体框架查询
它是一种简单的左外连接,看起来像
SELECT *
FROM EntryDate
LEFT OUTER JOIN Member on Member.CardId = EntryDate.CardID
我怎么做到这一点使用实体框架4?
我有一个我希望能够转换成EF4的sql语句。将左外连接查询转换为实体框架查询
它是一种简单的左外连接,看起来像
SELECT *
FROM EntryDate
LEFT OUTER JOIN Member on Member.CardId = EntryDate.CardID
我怎么做到这一点使用实体框架4?
如果在你的模型关系映射,你可以简单地使用导航属性,因为他们总是用左连接:
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
。
谢谢拉迪斯拉夫,是的,我没有任何导航属性,所以我不得不使用第二个选项 – 2011-04-30 09:22:24