忽略特殊字符时的 EF Linq 搜索结果
EF Linq search results while ignoring special characters
我正在尝试创建一个 LINQ 方法查询,用户可以在其中输入搜索条件的文本,这将搜索 table 列并在查找结果时忽略特殊字符。
例如:输入 "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;
}
从 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;
}
我正在尝试创建一个 LINQ 方法查询,用户可以在其中输入搜索条件的文本,这将搜索 table 列并在查找结果时忽略特殊字符。
例如:输入 "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;
}
从 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;
}