FatRepository 0.3.0
dotnet add package FatRepository --version 0.3.0
NuGet\Install-Package FatRepository -Version 0.3.0
<PackageReference Include="FatRepository" Version="0.3.0" />
paket add FatRepository --version 0.3.0
#r "nuget: FatRepository, 0.3.0"
// Install FatRepository as a Cake Addin #addin nuget:?package=FatRepository&version=0.3.0 // Install FatRepository as a Cake Tool #tool nuget:?package=FatRepository&version=0.3.0
FatRepository For EFCore
Give it a star on github if you like the project. 👏 🌠 🌟
FatRepository is an Handful predefined methods that every efcore projects need.
Usage:
Required:
Have to configure DbContext first then register the service.
What you get:
You will get two interface to interact with.
1. IFatRepository<Entity,DbContext>();
2. IFatDatabase<DbContext>();
IFatRepository
will give you some handful methods to access to operate. But If you need the <b>full control</b> over your dbset class then DbSet
property is there to accommodate your likings.
IFatDatabase
will give you all the control related dbcontext class. It is nothing but a wrapper around the DbContext.Database
instance. You can access SaveChanges and Transaction from there.
Service Registration:
With Microsoft DI:
services.AddFatRepository();
With Factory:
var dbContext = new YourDbContext();
IFatRepository repo = FatFactoryInstaller.CreateFatRepository<Blog, YourDbContext>(dbContext);
IFatDatabase database = FatFactoryInstaller.CreateUnitOfWork<YourDbContext>(dbContext);
Now you can use this in your application service layer.
public class BlogService
{
private readony IFatRepository<Blog, YourDbContext> _repository;
private readonly IFatDatabase<YourDbContext _database;
public BlogService(IFatRepository<Blog, YourDbContext> repo, IFatDatabase<YourDbContext> database)
{
_repository = repo;
_database = database;
}
public void Add(Blog b)
{
_repository.InsertOne(b);
_database.Commit();
}
}
Made with C# ❤
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
-
net6.0
- Microsoft.EntityFrameworkCore (>= 6.0.15)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.