RepoDb.Db2 0.0.1-beta1

Prefix Reserved
This is a prerelease version of RepoDb.Db2.
dotnet add package RepoDb.Db2 --version 0.0.1-beta1
                    
NuGet\Install-Package RepoDb.Db2 -Version 0.0.1-beta1
                    
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="RepoDb.Db2" Version="0.0.1-beta1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RepoDb.Db2" Version="0.0.1-beta1" />
                    
Directory.Packages.props
<PackageReference Include="RepoDb.Db2" />
                    
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 RepoDb.Db2 --version 0.0.1-beta1
                    
#r "nuget: RepoDb.Db2, 0.0.1-beta1"
                    
#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.
#:package RepoDb.Db2@0.0.1-beta1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=RepoDb.Db2&version=0.0.1-beta1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=RepoDb.Db2&version=0.0.1-beta1&prerelease
                    
Install as a Cake Tool

Db2Build Db2Home Db2Version

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

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 published RepoDb.Db2 package depends on the Windows package by default. If you consume RepoDb.Db2 on Linux, add a direct PackageReference to Net.IBM.Data.Db2-lnx yourself.
  • 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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