我的edm中有这两个人:
Parnter成员:int id,字符串firstname,字符串lastname,Partner_Address partneradress
Partner_Address成员:int id,int partnerid,date validfrom
如果我使用这样创建我的查询:ObjectQuery.include(“Partner_Address”)我得到一个合作伙伴实体,可以访问Partner_Adress属性(例如,Partner.Partner_Adress.ValidFrom)。如何使用join / groupjoins实现相同的功能?我尝试了以下内容:
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_Adress的子属性,因为它“未加载”。