Ответ 1
В SQL Server любое выражение top
, отличное от числовой константы, должно быть в круглых скобках.
SELECT TOP (@MaxLimit) FROM ...
Это мой sql
var maxLimit =100;
var sql = "Select Top @MaxLimit from Table WHere data [email protected]"
conn.Query<Result>(sql, new {
Id = customerId,
MaxLimit = maxLimit
})
Но я получаю системную ошибку
неправильный синтаксис рядом с @MaxLimit.
Является ли Dapper неспособным параметризовать поля, такие как Top или Fetch?
В SQL Server любое выражение top
, отличное от числовой константы, должно быть в круглых скобках.
SELECT TOP (@MaxLimit) FROM ...
Это также работает с более новыми версиями Dapper:
var sql = "Select Top {=MaxLimit} from Table WHere data = @Id";