RepoDb.Db2
0.0.1-beta1
Prefix Reserved
dotnet add package RepoDb.Db2 --version 0.0.1-beta1
NuGet\Install-Package RepoDb.Db2 -Version 0.0.1-beta1
<PackageReference Include="RepoDb.Db2" Version="0.0.1-beta1" />
<PackageVersion Include="RepoDb.Db2" Version="0.0.1-beta1" />
<PackageReference Include="RepoDb.Db2" />
paket add RepoDb.Db2 --version 0.0.1-beta1
#r "nuget: RepoDb.Db2, 0.0.1-beta1"
#:package RepoDb.Db2@0.0.1-beta1
#addin nuget:?package=RepoDb.Db2&version=0.0.1-beta1&prerelease
#tool nuget:?package=RepoDb.Db2&version=0.0.1-beta1&prerelease
RepoDb.Db2 — RepoDB for Db2 Database
The Db2 provider for RepoDB — a fast, lightweight .NET ORM that lets you use raw SQL and fluent operations side by side on the same connection. Built on top of RepoDb and the IBM Data Server .NET Provider (Net.IBM.Data.Db2).
Target
Db2 for Linux, UNIX, and Windows (LUW) 10.5 and later. Earlier versions are not supported (the provider relies on OFFSET ... FETCH NEXT ... ROWS ONLY paging, which requires 10.5+). Db2 for z/OS and Db2 for i are not currently tested against.
Important Pages
- GitHub Home — core library and source code.
- Website — full documentation, API reference, and blog.
Community
- GitHub Issues — bug reports and feature requests.
- Microsoft Teams — live Q&A.
- X / Twitter — news and updates.
Dependencies
- Net.IBM.Data.Db2 — IBM's Data Server .NET provider for Db2. IBM ships this as separate, platform-specific packages instead of one cross-platform package:
Net.IBM.Data.Db2(Windows x64),Net.IBM.Data.Db2-lnx(Linux AMD64), and others (-osx,-zlnx,-ppc) not referenced by this project. The publishedRepoDb.Db2package depends on the Windows package by default. If you consumeRepoDb.Db2on Linux, add a directPackageReferencetoNet.IBM.Data.Db2-lnxyourself. - RepoDb — the RepoDB core library.
License
Apache-2.0 — Copyright © 2026 Michael Camara Pendon
Installation
Install-Package RepoDb.Db2
Unlike the other providers, RepoDb.Db2 does not carry a transitive dependency on the underlying IBM ADO.NET driver. IBM ships a separate driver package per platform, so you must install the matching Net.IBM.Data.Db2* package yourself alongside RepoDb.Db2.
// Windows
> Install-Package RepoDb.Db2
> Install-Package Net.IBM.Data.Db2
// Linux
> Install-Package RepoDb.Db2
> Install-Package Net.IBM.Data.Db2-lnx
Pick the IBM driver package that matches your target platform.
| Platform | IBM package |
|---|---|
| Windows x64 | Net.IBM.Data.Db2 |
| Linux AMD64 | Net.IBM.Data.Db2-lnx |
| macOS | Net.IBM.Data.Db2-osx |
| Linux IBM Z | Net.IBM.Data.Db2-zlnx |
| Linux Power | Net.IBM.Data.Db2-ppc |
After installation, call the globalized setup method to initialize all dependencies for Db2.
GlobalConfiguration
.Setup()
.UseDb2();
Get Started
Initialize the bootstrapper once at application startup:
GlobalConfiguration
.Setup()
.UseDb2();
Every statement RepoDb.Db2 generates binds parameters using ":Name"-style host variables (e.g. WHERE "Id" = :Id). IBM's Data Server .NET Provider disables host-variable support by default, so your connection string must include HostVarParameters=True;, otherwise every parameterized call fails with DB2Exception SQL0313N:
Server=localhost:50000;Database=REPODB;UID=db2inst1;PWD=yourpassword;HostVarParameters=True;
Then use any RepoDB operation directly on your DB2Connection:
Query
using (var connection = new DB2Connection(ConnectionString))
{
var customer = connection.Query<Customer>(c => c.Id == 10045);
}
Insert
var customer = new Customer
{
FirstName = "John",
LastName = "Doe",
IsActive = true
};
using (var connection = new DB2Connection(ConnectionString))
{
var id = connection.Insert<Customer>(customer);
}
Update
using (var connection = new DB2Connection(ConnectionString))
{
var customer = connection.Query<Customer>(10045);
customer.FirstName = "John";
customer.LastUpdatedUtc = DateTime.UtcNow;
var affectedRows = connection.Update<Customer>(customer);
}
Delete
using (var connection = new DB2Connection(ConnectionString))
{
var customer = connection.Query<Customer>(10045);
var deletedCount = connection.Delete<Customer>(customer);
}
ExecuteQuery
using (var connection = new DB2Connection(ConnectionString))
{
var customer = connection.ExecuteQuery<Customer>("SELECT * FROM \"Customer\" WHERE (\"Id\" = :Id);", new { Id = 10045 }).FirstOrDefault();
}
ExecuteNonQuery
using (var connection = new DB2Connection(ConnectionString))
{
var affectedRows = connection.ExecuteNonQuery("UPDATE \"Customer\" SET \"FirstName\" = :FirstName WHERE (\"Id\" = :Id);", new { FirstName = "John", Id = 10045 });
}
ExecuteScalar
using (var connection = new DB2Connection(ConnectionString))
{
var count = connection.ExecuteScalar<int>("SELECT COUNT(*) FROM \"Customer\";");
}
Visit the get-started page for the full Db2 guide.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- Net.IBM.Data.Db2-lnx (>= 10.0.0.200)
- RepoDb (>= 1.16.0-beta1)
-
net8.0
- Net.IBM.Data.Db2-lnx (>= 9.0.0.400)
- RepoDb (>= 1.16.0-beta1)
-
net9.0
- Net.IBM.Data.Db2-lnx (>= 9.0.0.400)
- RepoDb (>= 1.16.0-beta1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RepoDb.Db2:
| Package | Downloads |
|---|---|
|
RepoDb.Db2.BulkOperations
An extension library that contains the official Bulk Operations of RepoDB for IBM DB2. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.1-beta1 | 60 | 8/15/2026 |
| 0.0.1-alpha1 | 67 | 8/10/2026 |