Dapper.Transaction Discover What Is This Library and How to Use It
What's Dapper Transaction?
Dapper Transaction
is exactly like Dapper
but extends the IDbTransaction
interface instead and uses Dapper
under the hood.
- Dapper.Transaction is a library that provides an easy way to manage transactions in .NET applications.
- Transactions are important when working with databases because they allow you to keep your data consistent and avoid data corruption.
- The Dapper.Transaction library makes it easy to work with transactions by providing a simple API that can be used in your code.
Everything Dapper
support, Dapper Transaction
supports it as well (It's only a new extension method calling Dapper)
NuGet: https://www.nuget.org/packages/Dapper.Transaction/
NuGet (StrongName): https://www.nuget.org/packages/Dapper.Transaction.StrongName/
GitHub: https://github.com/zzzprojects/Dapper.Transaction
Method Supported
Dapper Transaction
supports all the methods that are supported by Dapper
. The only difference is that these methods can be called from any object of type IDbTransaction
instead of from an object of type IDbConnection
.
- Execute
- ExecuteAsync
- ExecuteReader
- ExecuteReaderAsync
- ExecuteScalar
- ExecuteScalarAsync
- Query
- QueryAsync
- QueryFirst
- QueryFirstAsync
- QueryFirstOrDefault
- QueryFirstOrDefaultAsync
- QuerySingle
- QuerySingleAsync
- QuerySingleOrDefault
- QuerySingleOrDefaultAsync
- QueryMultiple
- QueryMultipleAsync
Let's consider the following example that shows how to call the extension method.
using (var connection = new SqlConnection(FiddleHelper.GetConnectionStringSqlServerW3Schools())) { connection.Open(); using (var transaction = connection.BeginTransaction()) { // Dapper var affectedRows1 = connection.Execute(sql, new {CustomerName = "Mark"}, transaction: transaction); // Dapper Transaction var affectedRows2 = transaction.Execute(sql, new {CustomerName = "Mark"}); transaction.Commit(); } }
ZZZ Projects