https://github.com/purkayasta/fatrepository
bare bone generic repository for efcore
https://github.com/purkayasta/fatrepository
csharp database dotnet efcore repository repository-pattern
Last synced: 3 months ago
JSON representation
bare bone generic repository for efcore
- Host: GitHub
- URL: https://github.com/purkayasta/fatrepository
- Owner: purkayasta
- License: mit
- Created: 2023-03-24T19:21:38.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-04-26T19:10:29.000Z (about 3 years ago)
- Last Synced: 2025-07-22T06:20:06.979Z (12 months ago)
- Topics: csharp, database, dotnet, efcore, repository, repository-pattern
- Language: C#
- Homepage: https://www.nuget.org/packages/FatRepository
- Size: 84 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# FatRepository For EFCore
## Give it a star if you like the project. 👏 🌠 🌟
FatRepository is an Handful predefined methods that every efcore projects need.




[Nuget](https://www.nuget.org/packages/FatRepository/)
## Usage:
### Required:
> Have to configure DbContext first then register the service.
### What you get:
You will get two interface to interact with.
```
1. IFatRepository();
2. IFatDatabase();
```
```IFatRepository``` will give you some handful methods to access to operate. But If you need the full control 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:
```c#
services.AddFatRepository();
```
With Factory:
```
var dbContext = new YourDbContext();
IFatRepository repo = FatFactoryInstaller.CreateFatRepository(dbContext);
IFatDatabase database = FatFactoryInstaller.CreateUnitOfWork(dbContext);
```
Now you can use this in your application service layer.
```c#
public class BlogService
{
private readonly IFatRepository _repository;
private readonly IFatDatabase repo, IFatDatabase database)
{
_repository = repo;
_database = database;
}
public void Add(Blog b)
{
_repository.InsertOne(b);
_database.Commit();
}
}
```
Made with C# ❤