EntityFrameworkCore.GenericUnitOfWork
1.0.0
dotnet add package EntityFrameworkCore.GenericUnitOfWork --version 1.0.0
NuGet\Install-Package EntityFrameworkCore.GenericUnitOfWork -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="EntityFrameworkCore.GenericUnitOfWork" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EntityFrameworkCore.GenericUnitOfWork --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EntityFrameworkCore.GenericUnitOfWork, 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 EntityFrameworkCore.GenericUnitOfWork as a Cake Addin #addin nuget:?package=EntityFrameworkCore.GenericUnitOfWork&version=1.0.0 // Install EntityFrameworkCore.GenericUnitOfWork as a Cake Tool #tool nuget:?package=EntityFrameworkCore.GenericUnitOfWork&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Generic Unit Of Work
A .NETStandard package to plug and play with unit of work pattern in EntityFrameworkCore.
Uses
- Add the reference of the library or install nuget package.
- Register the library in ConfigureServices
services.AddUnitOfWork<AppDbContext>();
. AddUnitOfWork is a generic method. You need to pass your database context. - Use IUnitOfWork using constractor dependency injection.
public EmployeesController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
- Access your entity repository using
_unitOfWork.Repository<Employee>()
. - Do your operation using the available methods.
Sample code
Check out the complete sample project inside sample folder.
Basic uses of GenericUnitOfWork in controlelr
[Route("api/[controller]")]
[ApiController]
public class EmployeesController : ControllerBase
{
private readonly IUnitOfWork _unitOfWork;
public EmployeesController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
[HttpPost]
public async Task<IActionResult> Create(Employee employee)
{
_unitOfWork.Repository<Employee>().Add(employee);
await _unitOfWork.SaveChangesAsync();
return Ok();
}
[HttpGet]
public async Task<IActionResult> GetAll() => Ok(await _unitOfWork.Repository<Employee>().GetAllAsync());
[HttpGet("{id}")]
public async Task<IActionResult> Get(int id) => Ok(await _unitOfWork.Repository<Employee>().GetQuery().Include(e => e.Department).SingleAsync(e => e.Id == id));
[HttpPut]
public async Task<IActionResult> Update(Employee employee)
{
_unitOfWork.Repository<Employee>().Update(employee);
await _unitOfWork.SaveChangesAsync();
return Ok();
}
[HttpDelete]
public async Task<IActionResult> Delete(Employee employee)
{
_unitOfWork.Repository<Employee>().Remove(employee);
await _unitOfWork.SaveChangesAsync();
return Ok();
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.EntityFrameworkCore (>= 2.1.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 |
---|---|---|
1.0.0 | 552 | 4/19/2020 |