修改 Linq 查询以添加另一个条件

Modifying a Linq query to add another condition

我有一个方法可以提取具有空值的特定字段。 table 中的每条记录都有一个状态字段 1 或 0。1 是活动的,0 是不活动的。

对于下面的查询,我只想提取活动记录的数据,即 status = 1

如何修改此查询以放入 status = 1 的条件?

        public List<FileModel> GetMyData()
        {
            var collectedData = _context.MyUploads.AsNoTracking().Where(t =>
                    t.FirstName == null ||
                    t.LastName == null ||
                    t.EmailAddress == null ||
                    t.Telephone == null) 
                .Select(x => _mapper.Map<FileModel>(x))
                .ToList();
            return collectedData;
        }

您应该可以将 where 条件更改为以下内容

.Where(t => (t.FirstName == null || t.LastName == null || t.EmailAddress == null || t.Telephone == null) && t.status == 1)

&& 的意思是和,所以它表示那些字段为空并且状态等于 1。

您可以一个接一个地链接两个 Where Linq 扩展方法调用,如下所示:

 public List<FileModel> GetMyData()
 {
    var collectedData = _context.MyUploads.AsNoTracking().Where(t =>
            t.FirstName == null ||
            t.LastName == null ||
            t.EmailAddress == null ||
            t.Telephone == null)
        .Where(t => t.status == 1) // added this line...
        .Select(x => _mapper.Map<FileModel>(x))
        .ToList();
    return collectedData;
 }