Запрос после выполнения команды почти всегда будет ... именно тем, что вы передали. Dapper не заменяет маркеры параметров - это было бы дырой в SQL-инъекции.Даже с инструментами, отслеживающими трафик SQL (мини-профилировщик, профилировщик SQL-сервера и т. Д.): Показанная команда будет включать токены параметров с параметрами, отправляемыми отдельно.
Мини-профилировщик подделывает это , (на дисплее) добавив к команде операторы declare
, которые выглядят как параметры, чтобы вы могли запустить ее в SSMS - что даст вам что-то вроде:
declare @codigoidioma int = 1;
select teste as codigo ..... where codigoidioma = @codigoidioma
, но обратите внимание, что она осталасьпараметризованный (ish) даже здесь.
В случае dapper , в частности , есть некоторые исключения из общего правила "это будет то, что вы передали"касательно некоторых конкретных сценариев, таких как in @foo
(для чего-то вроде List<int>
для foo
), где он будет генерировать соответствующее расширение параметра, но будет по-прежнему параметризован .