我想使用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了解这一点?
解决方法
SELECT * FROM Users WHERE Name LIKE @pName + '%'