首页 > 解决方案 > 用于检索包含列表中任何值的项目的 LINQ 查询?

问题描述

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

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

[ "1001", "1002", "1003", "1004", "1005", "1006", "1007"]

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

query.Where(report => report.LaunchedDate < lastYear)

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

标签: c#entity-frameworklinq

解决方案


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

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

query.Where(report => employeeIds.Contains(report.EmployeeId));

推荐阅读