我知道这不会像写的那样工作,但我很难找到正确的答案,这个非功能性代码希望能说明我想要实现的目标:
var defaults = _cilQueryContext.DefaultCharges
.Where(dc => dc.ChargingSchedule_RowId == cs.RowId);
List<DevelopmentType> devTypes =
defaults.Select(dc => dc.DevelopmentType)
.Include(d => d.DefaultCharges)
.Include(d => d.OverrideCharges.Where(oc => oc.ChargingSchedule_RowId == cs.RowId))
.Include(d => d.OverrideCharges.Select(o => o.Zone))
.ToList();
本质上,我认为这需要一个连接,但是当我试图选择一个包含两种相关类型的子对象的父对象时,我看不到连接的“select new”子句中会发生什么。