我正在尝试创建一个LINQ方法查询,其中用户可以输入搜索条件的文本,该搜索条件将搜索表列并在查找结果时忽略特殊字符。
例如:输入“ab cd”将导致返回“ab cd”和“ab,cd”。
我的LINQ方法目前如下:
public List<type> GetData(string input)
{
var results = dbContext.table
.Where(s => s.Column.Contains(input))
.ToList();
return results;
}
答案 0 :(得分:1)
从EF 6.2开始,您可以使用DbFunctions.Like
:
public List<type> GetData(string input)
{
var results = dbContext.table
.Where(s => DbFunctions.Like(s.Column, "%"+input.Replace(' ', '%')+"%"))
.ToList();
return results;
}