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

如何修改Linq查询新增status=1的激活状态过滤条件

解决方案

你只需要在Where查询条件中追加status == 1的判断,和原有空值判断用逻辑与&&关联即可,修改后的代码如下:

public List<FileModel> GetMyData()
{
    var collectedData = _context.MyUploads.AsNoTracking().Where(t =>
            // 新增激活状态判断
            t.Status == 1 &&
            // 原有空值判断要套括号,避免运算符优先级导致逻辑错误
            (t.FirstName == null ||
            t.LastName == null ||
            t.EmailAddress == null ||
            t.Telephone == null)) 
        .Select(x => _mapper.Map<FileModel>(x))
        .ToList();
    return collectedData;
}

注意事项

  • 必须给原来的四个空值判断套上括号:因为&&优先级高于||,如果不加括号,查询逻辑会变成「Status等于1且FirstName为空,或者剩下三个字段任意为空」,会把未激活但是后三个字段为空的记录也查出来,不符合需求。
  • 如果你的实体类中status字段是小写开头命名的,把代码里的t.Status改成t.status即可,保持和实体属性命名一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:15:03