我想使用Dapper执行以下查询,Dapper当前不返回预期结果(我认为它必须将@pName参数视为单引号中的文字文本?):
var q = "SELECT * FROM Users WHERE Name LIKE '@pName%'";
@pName是我在执行查询时为其分配值的参数。
如果我只是构建SQL,那么事情就会起作用:
var q = "SELECT * FROM Users WHERE Name LIKE '" + name + "%'";
..但如果可能,我更愿意使用参数。
我正在使用以下代码执行查询:
o = _cn.Query<User>(q, new { pName = new DbString { Value = name, IsFixedLength = false, Length = 25, IsAnsi = true } }).ToList();
如何使用Dapper解决这个问题?
答案 0 :(得分:15)
SELECT * FROM Users WHERE Name LIKE @pName + '%'