Saltar al contenido

¿Cómo utilizar las transacciones con dapper.net?

Solución:

Aquí el fragmento de código:

using System.Transactions;    
....    
using (var transactionScope = new TransactionScope())
{
    DoYourDapperWork();
    transactionScope.Complete();
}

Tenga en cuenta que debe agregar una referencia a System.Transactions ensamblado porque no se hace referencia a él de forma predeterminada.

Preferí usar un enfoque más intuitivo obteniendo la transacción directamente desde la conexión:

// This called method will get a connection, and open it if it's not yet open.
using (var connection = GetOpenConnection())
using (var transaction = connection.BeginTransaction())
{
    connection.Execute(
        "INSERT INTO data(Foo, Bar) values (@Foo, @Bar);", listOf5000Items, transaction);
    transaction.Commit();
}

Deberías poder usar TransactionScope ya que Dapper ejecuta solo comandos ADO.NET.

using (var scope = new TransactionScope())
{
   // open connection
   // insert
   // insert
   scope.Complete();
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *