You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET中使用Where子句筛选数据无结果问题求助

问题解决:筛选DepartmentId在指定列表中的员工

你的问题出在C#语法错误:C#中没有in运算符用于判断元素是否属于集合,你写的t.DepartmentId in DepartmentList是无效语法,EF无法正确生成对应的SQL查询,所以返回空结果。

正确写法

使用集合的Contains方法来实现"IN"查询逻辑,修正后的代码如下:

// 注意C#大小写敏感,Var要改成小写var
var applicationDbContext = _context.tblEmployees;
// 用Contains替换错误的in语法
var applicationDbContext2 = applicationDbContext.Where(t => DepartmentList.Contains(t.DepartmentId));

额外注意细节

  • 你添加元素的代码DepartmentList.Add(3)缺少分号,需要补上:DepartmentList.Add(3);;
  • 如果需要立即获取内存中的数据集合,可以在末尾加上ToList():
var filteredEmployees = applicationDbContext.Where(t => DepartmentList.Contains(t.DepartmentId)).ToList();

修正后就能正确筛选出DepartmentId为2和3的员工(Id#3、4、6)。

内容的提问来源于stack exchange,提问作者Gholam Soori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 01:03:11