我正在尝试搜索数据库以查看一个字符串是否包含搜索项列表的元素。如何检查字符串是否包含实体框架中的列表中的任何字符串?
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