我需要从以下查询中选择DeviceTypeID
,但我不能,因为我使用.Any()
方法启动了查询。请帮我选择DeviceTypeID
var Ids = query.Any(a => a.HospitalDepartments.Any(b =>
b.Units.Any(c => c.Devices.Select(f => f.DeviceTypeID)))).ToList();
答案 0 :(得分:4)
Any
检查集合中是否至少有一个项符合谓词。从它看起来你想要的是一种收集所有层次结构中所有DeviceTypeID
的方法。如果是,那么您需要SelectMany
:
var ids = query.SelectMany(a =>
a.HospitalDepartments.SelectMany(b =>
b.Units.SelectMany(c =>
c.Devices.Select(f => f.DeviceTypeID)))).ToList();