Linq – 里面包括
我知道这不会像写的那样工作,但我很难看到正确的答案,而这个非function性的代码有望说明我正在努力实现的目标:
var defaults = _cilQueryContext.DefaultCharges .Where(dc => dc.ChargingSchedule_RowId == cs.RowId); List 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”子句会有什么。
据我所知, Include
不支持这种类型的子查询。 你最好的选择是使用投影,例如
List devTypes = defaults.Include(x => x.DefaultCharges) .Include(x => x.OverrideCharges) .Select(x => new { DevType = x.DevelopmentType, Zones = x.OverrideCharges.Where(oc => oc.ChargingSchedule_RowId == cs.RowId) .Select(oc => oc.Zone).ToList() }) .Select(x => x.DevType) .ToList();
- 如何在不丢失WPF绑定的情况下更改TextBox.Text?
- “未指定SMTP主机。” – 但是已指定?
- 使用Thread.Abort杀死HttpWebRequest对象
- 如何将二进制文件转换为另一个二进制表示,如图像
- 试图理解C#中的exception
- 当DataSource没有返回完整的结果集时,手动设置GridView的PageCount?
- 强制HttpClient使用Content-Type:text / xml
- 是否可以使用c#中的Exchange Web服务分配角色?
- 请求类型’System.Data.SqlClient.SqlClientPermission,System.Data,Version = 4.0.0.0的权限