RepoDb 1.14.1
Prefix ReservedSee the version list below for details.
dotnet add package RepoDb --version 1.14.1
NuGet\Install-Package RepoDb -Version 1.14.1
<PackageReference Include="RepoDb" Version="1.14.1" />
<PackageVersion Include="RepoDb" Version="1.14.1" />
<PackageReference Include="RepoDb" />
paket add RepoDb --version 1.14.1
#r "nuget: RepoDb, 1.14.1"
#:package RepoDb@1.14.1
#addin nuget:?package=RepoDb&version=1.14.1
#tool nuget:?package=RepoDb&version=1.14.1
RepoDB — a Hybrid ORM for .NET
RepoDB is a fast, lightweight, open-source .NET ORM that bridges micro-ORM simplicity with full-ORM power. Use raw SQL when you need control; use fluent methods when you want productivity — all from the same IDbConnection.
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 (17)
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.14.2-beta1 | 0 | 7/2/2026 |
| 1.14.1 | 98 | 7/1/2026 |
| 1.14.0 | 910 | 6/28/2026 |
| 1.13.2-alpha1 | 9,783 | 2/26/2024 |
| 1.13.1 | 1,132,221 | 3/16/2023 |
| 1.13.0 | 89,863 | 11/2/2022 |
| 1.12.10 | 377,157 | 2/18/2022 |
| 1.12.9 | 37,214 | 9/27/2021 |
| 1.12.8 | 121,822 | 9/23/2021 |
| 1.3.2-alpha1 | 677 | 2/26/2024 |