PH.DapperUtils.UnitOfWork 0.0.1

.NET Standard 2.0
dotnet add package PH.DapperUtils.UnitOfWork --version 0.0.1
NuGet\Install-Package PH.DapperUtils.UnitOfWork -Version 0.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PH.DapperUtils.UnitOfWork" Version="0.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PH.DapperUtils.UnitOfWork --version 0.0.1
#r "nuget: PH.DapperUtils.UnitOfWork, 0.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PH.DapperUtils.UnitOfWork as a Cake Addin
#addin nuget:?package=PH.DapperUtils.UnitOfWork&version=0.0.1

// Install PH.DapperUtils.UnitOfWork as a Cake Tool
#tool nuget:?package=PH.DapperUtils.UnitOfWork&version=0.0.1


DapperUnitOfWork is a IDisposable wrapper for hiding IDbConnection and IDbTransaction exposing only dapper method for data manipulation and Commit() or RollBack()

How to use

  1. open a new instance of IDbConnection
  2. start a IDbTransaction from opened connection
  3. init new instance of DapperUnitOfWork passing connection, transaction, and a string identifier
var uow = new var uow = new DapperUnitOfWork(connection, transaction, "some id...");
  1. pay attention: on disposing DapperUnitOfWork your IDbConnection and IDbTransaction are already disposed



Init new Unit Of Work for MySql (based on MySqlConnector)

var  connection = new MySqlConnector.MySqlConnection();
connection.ConnectionString =	"server=***;database=dapperutils.unitofwork;user=***;password=***;SslMode=none";
var tr = connection.BeginTransaction(IsolationLevel.ReadCommitted);

var uow = new DapperUnitOfWork(connection, tr, $"{Guid.NewGuid()}", CancellationTokenSource.Token);
//other code omitted...

Query Example

//other code omitted...
if (Uow is DapperUnitOfWork uow)
	var firstData = uow.QueryFirst<Person>("select * from persons where LastName = @LastName",
				                            new { LastName = "Last" });


if (Uow is DapperBase db)
	var array = db.Query<Person>("select * from persons where LastName = @LastName",
				                    new { LastName = "Last" }).ToArray();
Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net461 net462 net463 net47 net471 net472 net48 net481
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.1 84 1/19/2023