用于从列表中检索包含任何值的项目的LINQ查询?
c#
假设我有一个包含报表的表,每个报表都有一个分配给它的员工的员工 ID。
假设我有一个员工 ID 列表,例如:
[ "1001", "1002", "1003", "1004", "1005", "1006", "1007"]
什么 LINQ 查询将返回具有这些员工 ID 的所有报告?如果它只是一个单一的标准(比如如果我想要超过一年的所有东西),我可以做
query.Where(report => report.LaunchedDate < lastYear)
但是当我有很多项目时我该怎么做呢?我是否需要使用循环或是否有用于枚举员工 ID 列表的 LINQ 方法?
回答
听起来您正在寻找以下方面的内容:
var employeeIds = ["1001", "1002", "1003", "1004", "1005", "1006", "1007"];
query.Where(report => employeeIds.Contains(report.EmployeeId));