用于从列表中检索包含任何值的项目的 LINQ 查询?

And*_*rio 1 c# linq entity-framework

假设我有一个包含报表的表,每个报表都有一个分配给它的员工的员工 ID。

假设我有一个员工 ID 列表,例如:

[ "1001", "1002", "1003", "1004", "1005", "1006", "1007"]
Run Code Online (Sandbox Code Playgroud)

什么 LINQ 查询将返回具有这些员工 ID 的所有报告?如果它只是一个单一的标准(比如如果我想要超过一年的所有东西),我可以做

query.Where(report => report.LaunchedDate < lastYear)
Run Code Online (Sandbox Code Playgroud)

但是当我有很多项目时我该怎么做呢?我是否需要使用循环或是否有用于枚举员工 ID 列表的 LINQ 方法?

Loo*_*cid 5

听起来您正在寻找以下方面的内容:

var employeeIds = ["1001", "1002", "1003", "1004", "1005", "1006", "1007"];

query.Where(report => employeeIds.Contains(report.EmployeeId));
Run Code Online (Sandbox Code Playgroud)