Entity framework 忽略特殊字符时的EF Linq搜索结果
我正在尝试创建一个LINQ方法查询,用户可以在其中输入搜索条件的文本,这将搜索表列,并在搜索结果时忽略特殊字符 例如:输入ab cd将导致返回ab cd和ab,cd 我的LINQ方法目前如下所示:Entity framework 忽略特殊字符时的EF Linq搜索结果,entity-framework,asp.net-mvc-5,linq-to-entities,Entity Framework,Asp.net Mvc 5,Linq To Entities,我正在尝试创建一个LINQ方法查询,用户可以在其中输入搜索条件的文本,这将搜索表列,并在搜索结果时忽略特殊字符 例如:输入ab cd将导致返回ab cd和ab,cd 我的LINQ方法目前如下所示: public List<type> GetData(string input) { var results = dbContext.table .Where(s => s.Column.Contains(input))
public List<type> GetData(string input)
{
var results = dbContext.table
.Where(s => s.Column.Contains(input))
.ToList();
return results;
}
您可以使用DbFunctions。如从EF 6.2开始:
public List<type> GetData(string input)
{
var results = dbContext.table
.Where(s => DbFunctions.Like(s.Column, "%"+input.Replace(' ', '%')+"%"))
.ToList();
return results;
}
我应该更具体一点,我使用的是MVC5。我收到一条错误消息,指出“DbFunctions”不包含“Like”的定义,即使在包括使用System.Data.Entity之后;但是EF的版本是什么呢?很好,我的存储库项目使用的是旧版本。谢谢