需要使用linq搜索多个单词

时间:2014-03-24 12:18:39

标签: c# .net linq lambda

我有一个要求,用户来到并根据我需要使用linq查询它来输入搜索词并显示记录。例如,到这里:

搜索Eg 1:" Infosys"如果用户输入infosys作为搜索词我可以使用包含并轻松获得结果。

例如2:"塔塔咨询服务"如果用户输入此内容,我仍然可以使用包含并轻松获取记录。但是,如果用户只输入“Tata服务”,那么问题就在于此。或者是一个语法错误,因为" Tata constult service"我仍然希望显示由3个单词中的任何一个组成的记录。无论是塔塔/ Consutult /服务。

此搜索是动态的,不限于3它将是一个数组。我可以用Space分割单词。

1 个答案:

答案 0 :(得分:3)

使用Any扩展名方法:

string queryString = "Tata Services";
var queryParts = queryString.Split(' ');
var result = Records.Where(r => queryParts.Any(p => r.Name.Contains(p)));
相关问题