transaction avec dapper dot net

c# dapper

Question

Je voudrais exécuter plusieurs instructions d'insertion sur plusieurs tables. J'utilise dapper.net. Je ne vois aucun moyen de gérer les transactions avec dapper.net.

Veuillez partager vos idées sur l'utilisation des transactions avec dapper.net.

Réponse acceptée

Voici l'extrait de code:

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

Notez que vous devez ajouter une référence à l'assembly System.Transactions car il n'est pas référencé par défaut.


Réponse populaire

J'ai préféré utiliser une approche plus intuitive en obtenant la transaction directement depuis la connexion:

// This 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();
}



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