web-dev-qa-db-ja.com

Dapperパラメータの置換がTopで機能しない

これは私のSQLです

var maxLimit =100;
var sql = "Select Top @MaxLimit from Table WHere data =@Id"
conn.Query<Result>(sql, new  {
                Id = customerId,
                MaxLimit = maxLimit
            })

しかし、システムエラーが発生します

@MaxLimitの近くの構文が正しくありません。

Dapperは、TopやFetchなどのフィールドをパラメーター化できませんか?

21
Justin Homes

SQL Serverでは、数値定数以外のtop式は括弧で囲む必要があります。

SELECT TOP (@MaxLimit) FROM ...
33
Martin Smith