Параметризованное предложение LIKE в операторе SQL с использованием Dapper - PullRequest
11 голосов
/ 22 сентября 2011

Я хочу выполнить следующий запрос, используя Dapper, который в настоящее время не возвращает ожидаемых результатов (я думаю, что он должен обрабатывать параметр @pName как буквальный текст в одинарных кавычках?):

var q = "SELECT * FROM Users WHERE Name LIKE '@pName%'";

@ pName - это параметр, которому я присваиваю значение при выполнении запроса.

Все работает, если я просто строю SQL, например:

var q = "SELECT * FROM Users WHERE Name LIKE '" + name + "%'";

.. но я бы предпочел использоватьparam, если это возможно.

Я выполняю запрос, используя следующий код:

o = _cn.Query<User>(q, new { pName = new DbString { Value = name, IsFixedLength = false, Length = 25, IsAnsi = true } }).ToList();

Как мне это сделать с помощью Dapper?

1 Ответ

15 голосов
/ 22 сентября 2011
SELECT * FROM Users WHERE Name LIKE @pName + '%'
...