如何执行参数化 SQL 查询(使用 LIKE 和 @ 变量)

How to execute parameterized SQL query (using LIKE with @ variable)

我想根据用户的输入进行 select 查询,LIKE 的正确语法是什么?我应该在第一行或第二行的什么地方设置 %

var areaName = "SELECT AOIId FROM dbo.AreaOFInterest WHERE AOIName LIKE @AOIName ";
db.Database.ExecuteSqlCommand(areaName, @searching);

如果要搜索以指定字符开头的所有名称,请指定 LIKE @AOIName + '%'。对于包含字符串的所有名称,指定 LIKE '%' @AOIName + '%'.

您可能还想在提供的搜索字符串中转义 LIKE 通配符,以便将它们视为文字:

var aoiNameParameterValue = AOIName.Replace("[", "[[]").Replace("%", "[%]").Replace("_", "[_]").Replace("^", "[^]");