使用Dapper的SQL語句中的參數化LIKE子句

dapper sql

我想使用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 + '%'


許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因