Я пытаюсь запросить набор Azure SQL Базы данных, используя функцию sp_execute_remote
SQL с Dapper и DynamicParameters следующим образом:
Task<List<T>> ExecuteMultiShardCommand<T>(SqlBuilder.Template Template, int Timeout = 120)
{
var mParams = new DynamicParameters(Template.Parameters);
mParams.Add("@datasourcename", "<datasource>");
mParams.Add("@statement", Template.RawSql, DbType.String);
using (var conn = new SqlConnection(config["<sqlconnectionstring>"]))
{
var results = await conn.QueryAsync<T>("sp_execute_remote", mParams, commandTimeout: Timeout, commandType: CommandType.StoredProcedure);
return results.ToList();
}
}
При выполнении этого выдается SQL исключение:
System.Data.SqlClient.SqlException: процедура ожидает параметр '@statement' типа 'ntext / nchar / nvarchar'.
Я не настроил Dapper где-нибудь в моем приложении. Разве обработка по умолчанию не DbType.String
a nvarchar
?