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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
PH.DapperUtils.UnitOfWork
DapperUnitOfWork is a IDisposable
wrapper for hiding IDbConnection
and IDbTransaction
exposing only dapper method for data manipulation and Commit()
or RollBack()
How to use
- open a new instance of
IDbConnection
- start a
IDbTransaction
from opened connection - init new instance of
DapperUnitOfWork
passing connection, transaction, and a string identifier
var uow = new var uow = new DapperUnitOfWork(connection, transaction, "some id...");
- pay attention: on disposing
DapperUnitOfWork
yourIDbConnection
andIDbTransaction
are already disposed
Examples
DapperUnitOfWork
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";
connection.Open();
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.
-
.NETStandard 2.0
- Dapper (>= 2.0.123)
- Dapper.Contrib (>= 2.0.78)
- GitInfo (>= 2.3.0)
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 |