transacción con dapper dot net

c# dapper

Pregunta

Me gustaría ejecutar múltiples instrucciones de inserción en varias tablas. Estoy usando dapper.net. No veo ninguna forma de manejar transacciones con dapper.net.

Por favor comparta sus ideas sobre cómo usar transacciones con dapper.net.

Respuesta aceptada

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 al ensamblado System.Transactions porque no se hace referencia a él por defecto.


Respuesta popular

Preferí usar un enfoque más intuitivo al obtener la transacción directamente de 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();
}


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