Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 4 将左侧外部联接查询转换为实体框架查询_Entity Framework 4_Linq To Entities - Fatal编程技术网

Entity framework 4 将左侧外部联接查询转换为实体框架查询

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

我有一个sql语句,我希望能够转换成EF4

它是一个简单的左外连接,看起来像

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,是的,我没有任何导航属性,所以我不得不使用第二个选项