2015-08-26 58 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

您是否想過套管?

在這個當前的例子中,這不是你的問題,但我猜想,也許你沒有向我們展示你的真實數據。它區分大小寫,所以「綠色」不會匹配「綠色」。

相關問題