Dapper Transaction

What’s Dapper Transaction?

Dapper Transaction is exactly like Dapper but extend the IDbTransaction interface instead and use Dapper under the hood.

It’s a simple library to make it easier to work with a transaction.

Everything Dapper support, Dapper Transaction support it as well (It’s only new extension method calling Dapper)

NuGet: https://www.nuget.org/packages/Dapper.Transaction/

GitHub: https://github.com/zzzprojects/Dapper.Transaction

  1. using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools()))
  2. {
  3. connection.Open();
  4. using (var transaction = connection.BeginTransaction())
  5. {
  6. // Dapper
  7. var affectedRows1 = connection.Execute(sql, new {CustomerName = "Mark"}, transaction: transaction);
  8. // Dapper Transaction
  9. var affectedRows2 = transaction.Execute(sql, new {CustomerName = "Mark"});
  10. transaction.Commit();
  11. }
  12. }

Method Supported

  • Execute
  • ExecuteAsync
  • ExecuteReader
  • ExecuteReaderAsync
  • ExecuteScalar
  • ExecuteScalarAsync
  • Query
  • QueryAsync
  • QueryFirst
  • QueryFirstAsync
  • QueryFirstOrDefault
  • QueryFirstOrDefaultAsync
  • QuerySingle
  • QuerySingleAsync
  • QuerySingleOrDefault
  • QuerySingleOrDefaultAsync
  • QueryMultiple
  • QueryMultipleAsync