Linq to Entities查询WHERE条件数组

时间:2013-04-12 08:20:42

标签: entity-framework linq-to-entities

如果在带有OR条件的WHERE子句中有一个参数数组,如何创建有效的Linq-to-Entities查询?数组长度可以是任何值。

例如:来自员工 - >返回EmployeeID为1,2或3的所有员工。

这样做的愚蠢方法是:

For index = 0 To employeeArray.Lenght-1
        FindID = employeeArray(index)
        Dim query = From emp In _context.Employees
                    Where emp.EmployeeID = FindID
                    Select emp
Next

我如何有效地实现这一目标?

1 个答案:

答案 0 :(得分:0)

Dim query = From emp In _context.Employees
            Where employeeArray.Contains(emp.EmployeeID)
            Select emp

使用Contains方法 - 它将在Entity Framework生成的SQL查询中转换为IN子句。