C# Dapper – So verwenden Sie Transaktionen mit Dapper

C# Dapper – So verwenden Sie Transaktionen mit Dapper

Dapper ist ein Mikro-ORM oder ein einfacher Objekt-Mapper und lässt sich nahtlos in C# und seine SqlConnection integrieren. Dasselbe gilt für Dapper und Transaktionen, da Dapper erweitert, dass die SqlConnection-Transaktionen reibungslos damit funktionieren. Unten sehen Sie ein Beispiel für die Ausführung einer Transaktion mit zwei Inserts unter Verwendung von Dapper.Contrib:

using var con = new SqlConnection("<Your connectionstring>");
con.Open();
using var transaction = con.BeginTransaction();

var result = con.Insert<MyEntity>(new MyEntity { 
   Text = "This is a text!"}, transaction);
var result2 = con.Insert<MyEntity>(new MyEntity { 
   Text = "This is another text!" }, transaction);
transaction.Commit();

Oben erstellen und öffnen wir zunächst eine neue SqlConnection. Wir beginnen dann eine Transaktion auf der SQL-Verbindung und stellen diese für unsere SQL-Anweisungen bereit, die zwei Einfügungen sind. Wenn wir fertig sind, legen wir die Transaktion fest. Das ist alles.

Wir können das Obige testen, indem wir eine Ausnahme zwischen die beiden Einfügungen setzen:

using var con = new SqlConnection("<Your connectionstring>");
con.Open();
using var transaction = con.BeginTransaction();
var result = con.Insert<MyEntity>(new MyEntity { 
   Text = "This is a text!"}, transaction);
throw new Exception(); //Here
var result2 = con.Insert<MyEntity>(new MyEntity { 
   Text = "This is another text!" }, transaction);
transaction.Commit();

Im obigen wird nichts eingefügt, da eine Ausnahme ausgelöst wird und die Transaktion nie festgeschrieben wird. Hätte es oben keine Transaktion gegeben, wäre die erste Beilage eingefügt worden und die zweite nicht.

Das ist es

Ich hoffe, Sie fanden das hilfreich, bitte hinterlassen Sie unten einen Kommentar, ich habe sie alle gelesen!