抱歉,由于各种原因,我无法提供实际的代码。
但是我正在尝试为类中的多个条目创建一个搜索功能
示例
我有一个已实施的任务
public async Task<List<RequestList>> SearchRequestAsync(string searchItem)
{
return await context.RequestLists.Where(s => s.RequestName.ToString().Contains(searchItem)).ToListAsync();
}
RequestName 是我的数据库中的值之一
这适用于该列,但我想按多列进行过滤。
就上下文而言,我对此非常陌生,并且正在不断构建和学习。
本质上,我试图看看是否可以将 RequestList 列表中的值添加到另一个私有列表中,但不知道如何操作。
您可以在 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在一起的。