我有这个代码,任何机构都有解决方案
string[] splitSearch = request.Search.Split(' ');// for example: [best , selling , book , of , the , year] or [in , memory , of , love]
var queryable = _context.books.AsQueryable();
queryable = queryable
.Where(x => x.Title.Contains(request.Search)
|| x.Description.Contains(request.Search)
foreach (string split in splitSearch)
{
|| x.Title.Contains(split)
|| x.Description.Contains(split)
}
);
var Books = await queryable
.Skip(request.Offset ?? 0)
.Take(request.Limit ?? 3).ToListAsync();
但是因为在 where 子句中不允许 foreach 出现错误,如果我将所有可查询的内容放在 foreach 然后在 Each 循环中,我的查询受到添加的 where 子句的限制并返回错误结果,我需要 '||' 在 where 子句中,我不知道我的客户想输入多少字