c# - LINQ:如何在 Any() 方法之后选择一列

标签 c# entity-framework linq

我需要从下面的查询中选择 DeviceTypeID 但我不能,因为我使用 .Any() 方法开始查询。请帮我选择DeviceTypeID

var Ids = query.Any(a => a.HospitalDepartments.Any(b => 
                        b.Units.Any(c => c.Devices.Select(f => f.DeviceTypeID)))).ToList();

最佳答案

Any 检查集合中是否至少有一项满足谓词。从它的外观来看,您想要的是一种收集所有层次结构中所有 DeviceTypeID 的方法。如果是这样,那么您需要 SelectMany:

var ids = query.SelectMany(a => 
              a.HospitalDepartments.SelectMany(b => 
                  b.Units.SelectMany(c => 
                      c.Devices.Select(f => f.DeviceTypeID)))).ToList();

关于c# - LINQ:如何在 Any() 方法之后选择一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43428418/

相关文章:

嵌套字典中的 C# 值总和,其中值是类 Dictionary<string, Dictionary<Int16, CommonData>>

c# - Mono HttpListener 客户端证书

c# - 我如何使用默认构造函数创建我的类的数组?

entity-framework - 如何通过 EF Model First 数据库架构升级避免数据丢失?

c# - 在linq中加入未知数量的列表

linq - 使用嵌套对象集合展平 LINQ 集合对象

c# - 关闭表单时如何关闭所有打开的 MessageBoxes

c# - .NET MVC 4 WebAPI POST 不工作

c# - 急切的 Include 函数调用内存中的数据吗?

c# - Entity Framework 4.3 和 Moq 无法创建 DbContext 模拟