NetcodeHub.Packages.Extensions.UnitOfWork
1.0.0
dotnet add package NetcodeHub.Packages.Extensions.UnitOfWork --version 1.0.0
NuGet\Install-Package NetcodeHub.Packages.Extensions.UnitOfWork -Version 1.0.0
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="NetcodeHub.Packages.Extensions.UnitOfWork" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NetcodeHub.Packages.Extensions.UnitOfWork --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NetcodeHub.Packages.Extensions.UnitOfWork, 1.0.0"
#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 NetcodeHub.Packages.Extensions.UnitOfWork as a Cake Addin #addin nuget:?package=NetcodeHub.Packages.Extensions.UnitOfWork&version=1.0.0 // Install NetcodeHub.Packages.Extensions.UnitOfWork as a Cake Tool #tool nuget:?package=NetcodeHub.Packages.Extensions.UnitOfWork&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Install the Nugget package
*NetcodeHub.Packages.Extensions.UnitOfWork*
Register with your AppDvContext file in the Program.cs file
using NetcodeHub.Packages.Extensions.UnitOfWork;
services.AddScoped<IUnitOfWork, UnitOfWork<AppDbContext>>();
Inject it and start using:
public class SampleMethod(AppDbContext context, IUnitOfWork unitOfWork)
{
await unitOfWork.BeginOperation();
try
{
if (await checks.CategoryExistence(request.CategoryModel.Name) != null)
return GeneralDbResponses.ItemAlreadyExist(request.CategoryModel.Name);
var data = request.CategoryModel.Adapt(new Category());
context.Categories.Add(data);
await unitOfWork.SaveChanges();
await unitOfWork.Commit();
return GeneralDbResponses.ItemCreated(request.CategoryModel.Name);
}
catch (Exception ex)
{
unitOfWork.Rollback();
throw;
}
}
Key Methods to note:
1. BeginOperation() => Before starting to rund queries.
2. SaveChanges() => save the changes made using the DbContext.
3. Commit => Finally commit the changes after saving.
4. Rollback() => Will reverse all the processes undertaken when one/more process(s) fail(s).
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.EntityFrameworkCore (>= 8.0.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on NetcodeHub.Packages.Extensions.UnitOfWork:
Package | Downloads |
---|---|
softinven.Infrastructure.services
This Infrastructure handles the commands and queries handlers aspect of the inventory management system |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 653 | 4/16/2024 |
Implemented the UnitOfWork Pattern for managing transactions in C# applications.
Added UnitOfWork<TDbContext> class to handle transaction management.
Introduced IUnitOfWork interface with async methods for SaveChanges, BeginOperation, Commit, and Rollback.