Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何构建一个查询表,从数据库列中查找字符串数组的所有单词_C#_Asp.net Core_Iqueryable_Ef Core 3.1_Asqueryable - Fatal编程技术网

C# 如何构建一个查询表,从数据库列中查找字符串数组的所有单词

C# 如何构建一个查询表,从数据库列中查找字符串数组的所有单词,c#,asp.net-core,iqueryable,ef-core-3.1,asqueryable,C#,Asp.net Core,Iqueryable,Ef Core 3.1,Asqueryable,我有这个密码,任何人都有解决办法 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.

我有这个密码,任何人都有解决办法

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中放入所有可查询项,然后在每个循环中,我的查询受添加的where子句的限制并返回假结果,我需要在where子句中输入“| |”,我不知道我的客户想要输入多少单词

关于
| | splitSearch.Any(s=>x.Title.Contains)| x.Description.Contains)
无法翻译LINQ表达式(弹出大错误),如果您想这样做:| | splitSearch.Contains(x.Title)| | splitSearch.Contains(x.Description)它是splitSearch中唯一一个查找准确标题或描述的方法,换句话说,它的find what splitSearch包含与数据库相似的内容,但我需要哪个数据库包含与splitSearch相似的内容,结果是1到1000个不同的内容有什么错误?我的意思是,我写的,
any
出于某种原因存在这就是错误:LINQ表达式无法翻译,为什么?因为它的服务器异常错误,并且我在终端中看到了它,所以您创建了一个对linq Translator没有意义的循环
| | splitSearch.Any(s=>x.Title.Contains(s)| | x.Description.Contains(s))
您的linq表达式无法翻译(大错误弹出),如果您想这样做:| | splitSearch.Contains(x.Title)| | splitSearch.Contains(x.Description)它在splitSearch中唯一能找到准确的标题或描述,换句话说,它的find what splitSearch包含与数据库相似的内容,但我需要什么数据库包含与splitSearch相似的内容,结果是1到1000个不同的错误?我的意思是,我写的,
any
出于某种原因存在这就是错误:LINQ表达式无法翻译,为什么?因为它的服务器异常错误,并且我在终端中看到了它,所以您创建了一个对linq translator没有意义的循环