在 Blazor 中创建一个搜索函数,用于查找 SQL 中的多个条目

问题描述 投票:0回答:1

抱歉,由于各种原因,我无法提供实际的代码。

但是我正在尝试为类中的多个条目创建一个搜索功能

示例

我有一个已实施的任务

public async Task<List<RequestList>> SearchRequestAsync(string searchItem)
{
  return await context.RequestLists.Where(s => s.RequestName.ToString().Contains(searchItem)).ToListAsync();
}

RequestName 是我的数据库中的值之一

这适用于该列,但我想按多列进行过滤。

就上下文而言,我对此非常陌生,并且正在不断构建和学习。

本质上,我试图看看是否可以将 RequestList 列表中的值添加到另一个私有列表中,但不知道如何操作。

linq asp.net-core blazor
1个回答
0
投票

您可以在 Linq 中编写查询。我想你想要的是这样的:

public async Task<List<RequestList>> SearchRequestAsync(string? searchItem1, string? searchItem2 )
{
  var query = context.RequestLists;

  if (searchItem1 is not null)
  {
    query = query.Where(s => s.RequestName.ToString().Contains(searchItem));
  }

  if (searchItem2 is not null)
  {
    query = query.Where(s =>  /* some other condition */ );
  }

  return await query.ToListAsync();
}

多个Where()子句串联运算,因此它们是AND在一起的。

© www.soinside.com 2019 - 2024. All rights reserved.