Dapper. Repository. UnitOfWork
NuGet\Install-Package Smooth.IoC.Dapper.Repository.UnitOfWork -Version 0.5.9
dotnet add package Smooth.IoC.Dapper.Repository.UnitOfWork --version 0.5.9
<PackageReference Include="Smooth.IoC.Dapper.Repository.UnitOfWork" Version="0.5.9" />
paket add Smooth.IoC.Dapper.Repository.UnitOfWork --version 0.5.9
#r "nuget: Smooth.IoC.Dapper.Repository.UnitOfWork, 0.5.9"
// Install Smooth.IoC.Dapper.Repository.UnitOfWork as a Cake Addin #addin nuget:?package=Smooth.IoC.Dapper.Repository.UnitOfWork&version=0.5.9 // Install Smooth.IoC.Dapper.Repository.UnitOfWork as a Cake Tool #tool nuget:?package=Smooth.IoC.Dapper.Repository.UnitOfWork&version=0.5.9
The package Provides a solution for the Repository and UnitOfWork patterns together with inversition of control.
On the project site there are examples of Autofact, Castle.Windsor, Ninject, Simpleinjector, StructureMap, and Unity integration. The IoC framework is not an issue... It is ment to integrate nice and smooth like...
The project uses tor its repository work Dapper as ORM and Dapper.FactCRUD for fluentness. But you can use is as a foundation and with any IDbConnection and IDbTransient framework you like.
The library gives you the building blocks to:
* Create Sessions from the IDbFactory in your methods, IDbFactory should be injected into your class's. As Session extends IDbConnection and will Open on the factory spawning the session and dispose the connection on disposal of the connection.
* Your Sessions can create UnitOfWork's. As Session extends IDbConnection and will Open on the factory spawning the session and dispose the connection on disposal of the connection.
* If your logic just needs "just a" UnitOfWork with a session that has the same scope, the factory can create it for you.
* The IRepository and abstract concrete class should be used on your individual repository classes to provide simple and basic calls. But ofcasue you can add all the queries you want into your Repositories and use the dapper and dapper.FastCRUD (or any other extensions) functionality provided to you.
* The repository abstract classes use Dapper.FastCRUD to give you a fluent ORM experience with the most common calls.
* This library does not lock you to using dapper and FastCRUD, you can use any library you like that extends IDbConnection and IDbTransation, and still use the IDbFactory, ISession and IUnitOrWork.
* Implemented for .net 4..0, .net 4.5.2, .net 4.6.1, .net 4.7.1+, .net 1.6 standard, .net 2.0 standard+.
|.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|
|.NET Core||netcoreapp1.0 netcoreapp1.1 netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1|
|.NET Standard||netstandard1.6 netstandard2.0 netstandard2.1|
|.NET Framework||net452 net46 net461 net462 net463 net47 net471 net472 net48|
|Tizen||tizen30 tizen40 tizen60|
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.