2015-08-26 59 views
0

如何检查所有搜索词是否存在于特定字段中。字符串数组包含所有搜索词

搜索条件选项1:绿白,

搜索字词选项2:测试查询,

搜索字词选项三:绿色查询。

var search_result = (from s in dbContext.databasetable.Where 
    (i => 1.city == "NYC" 
    &&(search_text.Any(x => i.name.Contains(x)) 
    || search_text.Any(x => i.surname.Contains(x)))) 
    select s).OrderByDescending(i => i.Date); 

SEARCH_TEXT是一个字符串数组

记录在数据库:

名称:绿白红

姓:搜索测试查询

选项1和两个必须返回记录而选项3必须返回“null”。

言必所有存在所有在姓氏中存在名称必须的。

+0

你有'从dbContext.databasetable'中的s,但你的'.Any(x => i.name.Contains(x))''使用'i',而不是's'。这是你的问题中的错字,还是它也在你的实际代码? – dasblinkenlight

+0

var search_result =(from db in dbContext.databasetable.Where (i => 1.city ==“NYC” &&(search_text.Any(x => i.name.Contains(x)) || search_text。任何(x => i.surname.Contains(x)))) select s).OrderByDescending(i => i.Date); 我还有一些其他的选择,在这里名称和姓氏搜索是错误的吗? – Babulaas

+0

我很好奇你为什么需要'from s in'部分,因为它下面的所有东西都是流畅的语法呢? – dasblinkenlight

回答

0

愚蠢的我。

这只是这个问题的一些测试数据。在我的情况下,它是主题和内容。我还在contentdata中使用了主题数据。换句话说查询工作正常。所有

测试数据不正确。感谢您的回复。

0

您是否想过套管?

在这个当前的例子中,这不是你的问题,但我猜想,也许你没有向我们展示你的真实数据。它区分大小写,所以“绿色”不会匹配“绿色”。

相关问题