【发布时间】:2020-11-23 19:54:53
【问题描述】:
我有一个List<Employee>:
带有List<Address> 集合的Employee 类
Address 类有一个 City 属性
所以List<Employee 可以这样填充:
NAME | ADDRESS[0] | ADDRESS[1]
Bob | Main St, Boston | River St, Chicago
Mary | Park St, Seattle | Beach St, Miami
以下 linq 返回所有具有地址对象的 Employee 对象,其中 City 为“波士顿”。
employeeList.Where(x => x.Addresses.Any(y => y.City == "Boston")).ToList<Employee>();
虽然这会正确过滤具有波士顿地址的员工,但也会返回他们的其他非波士顿地址。使用上表来说明,唯一返回的员工是 Bob(这是正确的),但他的两个地址也都返回了。我只想返回他的波士顿地址。
这是否可以使用 linq 或者我是否需要做一些额外的手动过滤来过滤子集合?
【问题讨论】: