我正在嘗試搜索數據庫以查看一個字符串是否包含搜索項列表的元素。如何檢查字符串是否包含實體框架中的列表中的任何字符串?
var searchTerms = new List<string> { "car", "232" };
var result = context.Data.Where(data => data.Name.Contains(searchTerms) ||
data.Code.Contains(searchTerms));
如果searchTerms是一個字符串,但我一直在試圖把它與一個字符串列表工作時,此會的工作。
基本上我需要SQL它會說
SELECT * FROM Data
WHERE Name LIKE '%car%'
OR Name LIKE '%232%'
OR Code LIKE '%car%'
OR Code LIKE '%232%'
linq where list contains any in list似乎是關閉的事情我能找到的情況。
Where(data => searchTerms.Contains(data.Name) || searchTerms.Contains(data.Code)
只會將與搜索字詞列表完全匹配的內容帶回。
我也嘗試過在實體框架中搜索多個關鍵字搜索,並且已經用盡了這種努力。有什麼方法可以實現我的目標?
如果數據有100萬條記錄怎麼辦? – hunter 2017-02-02 15:22:58