Linq EF EDM和ObjectQuery包含/连接

Linq EF EDM和ObjectQuery包含/连接,linq,entity-framework,Linq,Entity Framework,我的edm中有以下两个项目: Parnter成员:int id、string firstname、string lastname、Partner\u Address partnerAddress 合作伙伴地址成员:int-id,int-partnerid,有效日期自 如果我像这样使用create我的查询:ObjectQuery.includePartner\u Address,我会得到一个Partner实体,并且可以访问Partner\u Address属性,例如Partner.Partner\

我的edm中有以下两个项目:

Parnter成员:int id、string firstname、string lastname、Partner\u Address partnerAddress

合作伙伴地址成员:int-id,int-partnerid,有效日期自

如果我像这样使用create我的查询:ObjectQuery.includePartner\u Address,我会得到一个Partner实体,并且可以访问Partner\u Address属性,例如Partner.Partner\u Address.ValidFrom。如何使用联接/组联接实现相同的功能?我尝试了以下方法:

var inner = Query.Select(p => p.Partner_Adresse.GroupBy(pa => pa.PartnerID).Select(grp => grp.OrderByDescending(pp => pp.GueltigAb).FirstOrDefault()));

Query.GroupJoin(inner, p => p.ID, pp => pp.pa.PartnerID, (p, pp) => new {p, pp}).AsEnumerable().Select(r => r.p).ToList(); 

输出sql是正确的,但我无法像以前一样访问Partner_address的子属性,因为它没有加载。

您应该将p,pp=>new{p,pp}更改为p,pp=>new{p,pp,p.Partner_address}在调用一个不起作用的numerable.unfortunatel之前,我发现将MergeOption设置为eg.appender只能解决问题,但是这真的有必要吗?