[c#]实体框架集合到列表中

标签: Linq C#
发布时间: 2017/2/26 19:46:50
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想做这样的事情︰

 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>

解决方法 1:

你有的部门集合可查询集合 (请注意复数 e.Departments )。 因此,您可以使用 .SelectMany() 来拼合您的收藏,然后解决与 IQueryable .ToList()

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();
官方微信
官方QQ群
31647020