没有正则表达式的过滤字符串匹配

Filter string match without regex

我想在集合结果中过滤类型为字符串的列,逻辑如下:

所以我的逻辑是,当我的搜索词前后的字符在我的任何定界符中时,我想显示所有匹配项,否则我不显示该行。

你想要的东西很难甚至不可能在数据库中使用 like 和 string 操作。即使你做对了,它也会很慢。您应该做的是使用 mysql 功能 full text search。是的,Entity Framework 和 linq 都不支持这种语法,因此您将不得不绕过 EF 并将该查询写入字符串。

_supplierDbContext.Database.SqlQuery<DTO>(
      "select something from table match (column) against (:keywords)",
      new SqlParameter(":keywords",keywords))