Pimpant. IDbConnection et IDbTransaction

dapper idbconnection

Question

Comment utiliser une IDbConnection et une IDbTransaction avec Dapper?

Pour le moment, je n'utilise qu'une IDbConnection . Quelque chose comme suit:

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

Mais parfois j'ai besoin d'envoyer 2 commandes? Dois-je utiliser BeginTransation et EndTransaction ?

Réponse acceptée

Oui, si vous avez besoin de deux commandes distinctes pour être atomiques et échouer ensemble, vous devez alors utiliser une transaction.

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

Ou si vous voulez utiliser BeginTransaction et le transmettre, vous pouvez également faire:

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



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi