我正在尝试做这样的事情:
List<Department> t = db.Employees
.Where(e => e.CompanyId.Equals(12345))
.Where(e => e.Departments.Any(d => d.IsActive.Equals(true)))
.Select(e => e.Departments);
但它告诉我无法隐式转换IQueryable<ICollection<Department>> to List<Department>
给我一个错误。
我的Linq有点生疏了。什么是将其归结为List<Department>
答案 0 :(得分:2)
您有一个可查询的部门集合集合(请注意复数e.Departments
)。因此,您可以使用.SelectMany()
展平您的收藏集,然后使用.ToList()
解析IQueryable。
List<Department> t = db.Employees
.Where(e => e.CompanyId.Equals(12345))
.Where(e => e.Departments.Any(d => d.IsActive.Equals(true)))
.SelectMany(e => e.Departments).ToList();