我正嘗試使用linq創建一個有效的搜索。在一個字段內匹配幾個項目
用戶輸入他們的搜索關鍵字(或前幾個字符),然後將其解析爲一個數組。
在第一部分,我想找到所有的話都發現了搜索領域的實例。 (稍後,我搜索任何,但該部分正在工作)
string[] arSearchString = searchString.Split(',', ' ', ';');
var codes = from c in CodeList
where arSearchString.All(val => c.Description.StartsWith(val) ||
c.Description.Contains(" " + val))
select c;
這不會返回任何內容。
我希望發生的是返回,其中陣列中的所有單詞都說明字段 內發現例如項目,如果他們輸入「貓的狗」,我該回去了諸如:
"A Cat and a Dog"
"Dogs and Cats"
"Catatonic Dogma"
但不是隻匹配其中一個鍵的項目(例如,「我的生活作爲狗」)
任何人都可以發現我做錯了什麼或提供解決方案嗎?
怎麼做,如果第一個沒有返回。非常像你擁有它。但是我只想返回描述字段包含所有這些詞的記錄。 – Adam
@Adam更新。確保你的外殼正確。因爲在你的代碼中搜索「貓狗」不會因爲大寫字母匹配「貓狗」。 – mattytommo
出於好奇,這裏是這個源? _USE ToUpper的作爲對字符串comparisons_ –