c# - ¿Cómo ajustar CommandTimeout en Dapper.NET?
(2)
Estoy tratando de ejecutar copias de seguridad de SQL a través de un procedimiento almacenado a través de Dapper (el resto de mi aplicación usa Dapper, así que prefiero mantener esta porción ejecutándose a través de él también). Funciona perfectamente hasta que CommandTimeout se active.
using (var c = SqlConnection(connstring))
{
c.Open();
var p = new DynamicParameters();
// fill out p
c.Execute("xp_backup_database", p, commandType: CommandType.StoredProcedure);
}
La única configuración de CommandTimeout que conozco está en SqlCommand. ¿Hay alguna manera de configurar esto a través de Dapper?
Ejemplo de pregunta original con respuesta aceptada, en caso de que alguien lo quiera. (El tiempo de espera se establece en 60 segundos):
using (var c = SqlConnection(connstring))
{
c.Open();
var p = new DynamicParameters();
// fill out p
c.Execute("xp_backup_database", p, commandTimeout: 60,
commandType: CommandType.StoredProcedure);
}
Sí, hay múltiples versiones de la función Ejecutar. Uno (o más) de ellos contiene los parámetros commandTimeout:
public static int Execute(this IDbConnection cnn, string sql,
dynamic param = null, IDbTransaction transaction = null,
int? commandTimeout = null, CommandType? commandType = null)
Tomado de SqlMapper.cs