RepositoryKit 9.0.3

dotnet add package RepositoryKit --version 9.0.3
                    
NuGet\Install-Package RepositoryKit -Version 9.0.3
                    
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="RepositoryKit" Version="9.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RepositoryKit" Version="9.0.3" />
                    
Directory.Packages.props
<PackageReference Include="RepositoryKit" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RepositoryKit --version 9.0.3
                    
#r "nuget: RepositoryKit, 9.0.3"
                    
#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.
#addin nuget:?package=RepositoryKit&version=9.0.3
                    
Install RepositoryKit as a Cake Addin
#tool nuget:?package=RepositoryKit&version=9.0.3
                    
Install RepositoryKit as a Cake Tool

<div align="center"> <img src="logo-64x64.png" width="120" alt="RepositoryKit logo" />

RepositoryKit

Unified Repository and UnitOfWork Abstractions for Modern .NET

</div>


🚀 What is RepositoryKit?

RepositoryKit is a modular, provider-agnostic infrastructure library
that gives you clean, consistent repository and unit-of-work patterns for .NET projects.

With a single abstraction layer, you can swap between Entity Framework, MongoDB, or any custom provider
— with no changes to your application or domain logic.


🧩 Packages

Package Purpose
RepositoryKit.Core Provider-agnostic interfaces and abstractions
RepositoryKit.EntityFramework Plug-and-play EF Core implementation
RepositoryKit.MongoDb Plug-and-play MongoDB implementation
RepositoryKit.Extensions Handy LINQ/collection extensions for any repository

🛠️ Why RepositoryKit?

  • Write once, use anywhere: Keep your app logic independent from data provider details.
  • Easily mockable & testable: Interfaces are designed for clean dependency injection.
  • Flexible: Add new providers or swap databases with minimal refactoring.
  • Production-ready patterns: Follow real-world repository/unit-of-work design.
  • Extensible: Use with your own custom repositories or add domain logic.

📦 Quick Example

Register in your DI container (e.g., Entity Framework):

builder.Services.AddDbContext<AppDbContext>(options => ...);
builder.Services.AddScoped<IUnitOfWork<AppDbContext>, EfUnitOfWork<AppDbContext>>();
builder.Services.AddSingleton<IUnitOfWorkManager, EfUnitOfWorkManager>();

Use in your minimal API or service:

app.MapGet("/products", async (IUnitOfWork<AppDbContext> uow) =>
{
    var repo = uow.GetRepository<Product>();
    var products = await repo.GetAllAsync();
    return Results.Ok(products);
});

📚 Providers

📜 License

MIT © Ataberk Kaya

🤝 Dependencies

  • .NET 8+
  • Minimal dependencies, designed for plug-and-play usage

📎 RepositoryKit is an open, modular infrastructure for all .NET repository scenarios.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
9.0.3 106 6/3/2025
9.0.2 126 6/1/2025

Unified release for RepositoryKit packages under .NET 9.0.0 compatibility.