代码之家  ›  专栏  ›  技术社区  ›  Vishal

如何编写LINQ查询以与值列表进行比较?

  •  0
  • Vishal  · 技术社区  · 14 年前

    我基本上要从公司中选择所有的员工,这些公司都通过了一个变量-

    CompanyListIds -包含所有公司ID的列表。。

    var result=DataContext.Employee(e=>e.CompanyId==companyId).ToList();
    

    上面是一个查询,我要从一个公司中进行选择,现在我该如何修改它以与将要传递的所有公司ID进行比较..我该如何使用 contains 也许在这里..谢谢。。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Albin Sunnanbo    14 年前
    var result=(from e in DataContext.Employee
               where CompanyListIds.Contains(e.CompanyId)).ToList();
    
        2
  •  1
  •   Justin Niessner    14 年前

    如果在数据库中设置了正确的键,并且在实体关系图中配置了导航属性,则应该能够执行以下操作:

    var result = DataContext.Companies.SelectMany(c => c.Employees);
    

    但如果没有,您可以简单地使用Contains:

    var result = DataContext.Employee
                            .Where(e => CompanyListIds.Contains(e.CompanyId));
    
        3
  •  1
  •   Abe Miessler    14 年前

    var result= DataContext.Employee.Where(e=> CompanyListIds.Contains(e.CompanyId)).ToList();