RepoDb 1.15.1
Prefix ReservedSee the version list below for details.
dotnet add package RepoDb --version 1.15.1
NuGet\Install-Package RepoDb -Version 1.15.1
<PackageReference Include="RepoDb" Version="1.15.1" />
<PackageVersion Include="RepoDb" Version="1.15.1" />
<PackageReference Include="RepoDb" />
paket add RepoDb --version 1.15.1
#r "nuget: RepoDb, 1.15.1"
#:package RepoDb@1.15.1
#addin nuget:?package=RepoDb&version=1.15.1
#tool nuget:?package=RepoDb&version=1.15.1
RepoDB — a production-ready data access platform for .NET applications.
RepoDB is a high-performance, open-source data access platform for .NET applications. It combines the simplicity of a micro-ORM with the productivity of a full ORM, giving developers the freedom to use raw SQL for precise control or fluent operations for faster development—all through the same IDbConnection.
Write raw SQL when you need full control. Use fluent methods when you want productivity. Switch between them freely, in the same codebase.
Important Pages
- GitHub Home — core library and source code.
- Website — full documentation, API reference, and blog.
Core Features
- Batch Operations
- Bulk Operations
- Caching
- Class Handlers
- Class Mapping
- Connection Persistency
- Dynamics
- Enumeration
- Expression Trees
- Hints
- Implicit Mapping
- Multiple Query
- Property Handlers
- Repositories
- Targeted Operations
- Tracing
- Transaction
- Type Mapping
Community
- GitHub Issues — bug reports and feature requests.
- StackOverflow — technical questions.
- Microsoft Teams — live Q&A.
- X / Twitter — news and updates.
License
Apache-2.0 — Copyright © 2019 Michael Camara Pendon
Installation
Install-Package RepoDB
Or visit the installation page for more options.
Get Started
All RepoDB operations are extension methods on IDbConnection — no repository classes or extra setup required.
Query
using (var connection = new SqlConnection(ConnectionString))
{
var customer = connection.ExecuteQuery<Customer>("SELECT * FROM [dbo].[Customer] WHERE (Id = @Id);", new { Id = 10045 }).FirstOrDefault();
}
Insert
var customer = new
{
FirstName = "John",
LastName = "Doe",
IsActive = true
};
using (var connection = new SqlConnection(ConnectionString))
{
var id = connection.ExecuteScalar<int>("INSERT INTO [dbo].[Customer](FirstName, LastName, IsActive) VALUES (@FirstName, @LastName, @IsActive); SELECT SCOPE_IDENTITY();", customer);
}
Update
using (var connection = new SqlConnection(ConnectionString))
{
var customer = new
{
Id = 10045,
FirstName = "John",
LastName = "Doe"
};
var affectedRows = connection.ExecuteNonQuery("UPDATE [dbo].[Customer] SET FirstName = @FirstName, LastName = @LastName, LastUpdatedUtc = GETUTCDATE() WHERE (Id = @Id);", customer);
}
Delete
using (var connection = new SqlConnection(ConnectionString))
{
var deletedRows = connection.ExecuteNonQuery("DELETE FROM [dbo].[Customer] WHERE (Id = @Id)", new { Id = 10045 });
}
Stored Procedure
using (var connection = new SqlConnection(ConnectionString))
{
var customer = connection.ExecuteQuery<Customer>("[dbo].[sp_GetCustomer]", new { Id = 10045 }, commandType: CommandType.StoredProcedure).FirstOrDefault();
}
Or via inline SQL:
using (var connection = new SqlConnection(ConnectionString))
{
var customer = connection.ExecuteQuery<Customer>("EXEC [dbo].[sp_GetCustomer](@Id);", new { Id = 10045 }).FirstOrDefault();
}
Visit the get-started page for the full SQL Server guide.
| 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 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. 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 is compatible. 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. |
| .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. |
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.9)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Linq.Async (>= 7.0.1)
- System.Memory (>= 4.6.3)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
- System.Reflection.TypeExtensions (>= 4.7.0)
- System.Text.RegularExpressions (>= 4.3.1)
-
net10.0
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Reflection.TypeExtensions (>= 4.7.0)
-
net8.0
- System.Linq.Async (>= 7.0.1)
-
net9.0
- System.Linq.Async (>= 7.0.1)
NuGet packages (20)
Showing the top 5 NuGet packages that depend on RepoDb:
| Package | Downloads |
|---|---|
|
RepoDb.MySqlConnector
A hybrid .NET ORM library for MySQL (using MySqlConnector). |
|
|
RepoDb.SqlServer
A hybrid .NET ORM library for SQL Server. |
|
|
RepoDb.PostgreSql
A hybrid .NET ORM library for PostgreSQL. |
|
|
RepoDb.SqlServer.BulkOperations
An extension library that contains the official Bulk Operations of RepoDB for SQL Server. |
|
|
RepoDb.PostgreSql.BulkOperations
An extension library that contains the official Bulk Operations of RepoDB for PostgreSQL. |
GitHub repositories (6)
Showing the top 6 popular GitHub repositories that depend on RepoDb:
| Repository | Stars |
|---|---|
|
mikependon/RepoDB
A hybrid ORM library for .NET.
|
|
|
bcssov/IronyModManager
Mod Manager for Paradox Games. Official Discord: https://discord.gg/t9JmY8KFrV
|
|
|
itlibrium/DDD-starter-dotnet
Sample implementation and comparison of various approaches to building DDD applications. Useful as a baseline to quickly start a DDD dot net project.
|
|
|
TortugaResearch/DotNet-ORM-Cookbook
This repository is meant to show how to perform common tasks using C# with variety of ORMs.
|
|
|
FransBouma/RawDataAccessBencher
Bench code which tests entity materialization speed of various .NET data access / ORM implementations
|
|
|
TwentyFourMinutes/Venflow
A brand new, fast and lightweight ORM, build for PostgreSQL.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 1.16.0-alpha1 | 0 | 7/26/2026 |
| 1.15.1 | 211 | 7/23/2026 |
| 1.15.0 | 1,584 | 7/18/2026 |
| 1.15.0-telemetry | 395 | 7/18/2026 |
| 1.15.0-alpha1 | 166 | 7/18/2026 |
| 1.14.2 | 3,444 | 7/3/2026 |
| 1.14.2-beta1 | 144 | 7/2/2026 |
| 1.14.1 | 5,020 | 7/1/2026 |
| 1.14.0 | 8,425 | 6/28/2026 |
| 1.13.2-alpha1 | 9,888 | 2/26/2024 |
| 1.13.1 | 1,187,309 | 3/16/2023 |
| 1.13.0 | 90,350 | 11/2/2022 |
| 1.12.10 | 378,632 | 2/18/2022 |
| 1.3.2-alpha1 | 689 | 2/26/2024 |