首页 > 解决方案 > 如何构建可查询以从数据库列中查找字符串数组的所有单词

问题描述

我有这个代码,任何机构都有解决方案

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 子句中,我不知道我的客户想输入多少字

标签: c#asp.net-coreiqueryableef-core-3.1asqueryable

解决方案


推荐阅读