Apuesto. IDbConnection e IDbTransaction

dapper idbconnection

Pregunta

¿Cómo debo usar un IDbConnection y un IDbTransaction con Dapper?

Por el momento estoy usando solo un IDbConnection . Algo de la siguiente manera:

using (SqlConnection connection = new SqlConnection(connectionString)) 
{
    connection.Execute(@"insert Roles(Name) values (@name)", new { name = "Role" }); 
}

¿Pero a veces necesito enviar 2 comandos? ¿Debería usar BeginTransation y EndTransaction ?

Respuesta aceptada

Sí, si necesita dos comandos separados para ser atómicos y fallar juntos, entonces debe usar una transacción.

using (new TransactionScope(TransactionScopeOption.Required)) 
{
    connection.Execute(...);
    connection.Execute(...);
}

O si desea usar BeginTransaction y pasarlo, también puede hacer:

using (var transaction = connection.BeginTransaction()) 
{
    connection.Execute(sql1, params1, transaction);
    connection.Execute(sql2, params2, transaction);
}


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow