使用Dapper在SQL语句中使用参数化的LIKE子句

前端之家收集整理的这篇文章主要介绍了使用Dapper在SQL语句中使用参数化的LIKE子句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用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 + '%'

猜你在找的MsSQL相关文章