RepoDb.CockroachDb
0.0.1-alpha1
Prefix Reserved
dotnet add package RepoDb.CockroachDb --version 0.0.1-alpha1
NuGet\Install-Package RepoDb.CockroachDb -Version 0.0.1-alpha1
<PackageReference Include="RepoDb.CockroachDb" Version="0.0.1-alpha1" />
<PackageVersion Include="RepoDb.CockroachDb" Version="0.0.1-alpha1" />
<PackageReference Include="RepoDb.CockroachDb" />
paket add RepoDb.CockroachDb --version 0.0.1-alpha1
#r "nuget: RepoDb.CockroachDb, 0.0.1-alpha1"
#:package RepoDb.CockroachDb@0.0.1-alpha1
#addin nuget:?package=RepoDb.CockroachDb&version=0.0.1-alpha1&prerelease
#tool nuget:?package=RepoDb.CockroachDb&version=0.0.1-alpha1&prerelease
<div align="center"> <a href="https://repodb.net/tutorial/get-started-cockroachdb/"><image src="CockroachDB.png" style="width:256px;" /></a> <br/> <span style="font-size:28px;font-weight:bold;"><a href="https://repodb.net/tutorial/get-started-cockroachdb/"><strong>RepoDb.CockroachDb</strong></a></span> <br/> <span style="font-size:16px;">A high-performance data productivity platform for CockroachDB in .NET.</span> </div>
<br/>
RepoDb.CockroachDb — RepoDB for CockroachDB
The CockroachDB 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 RepoDb.Connector.CockroachDb.
Important Pages
- GitHub Home — core library and source code.
- Website — full documentation, API reference, and blog.
- Limitations — CockroachDB-specific caveats.
Community
- GitHub Issues — bug reports and feature requests.
- Microsoft Teams — live Q&A.
- GitHub Discussions — ask questions and share ideas.
- X / Twitter — news and updates.
Dependencies
- RepoDb.Connector.CockroachDb — the ADO.NET connector for CockroachDB (built on Npgsql).
- RepoDb — the RepoDB core library.
License
Apache-2.0 — Copyright © 2026 Michael Camara Pendon
Installation
Install-Package RepoDb.CockroachDb
Or visit the installation page for more options.
Get Started
Initialize the bootstrapper once at application startup:
GlobalConfiguration
.Setup()
.UseCockroachDb();
Then use any RepoDB operation directly on your CockroachDbConnection:
Query
using (var connection = new CockroachDbConnection(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 CockroachDbConnection(ConnectionString))
{
var id = connection.Insert<Customer>(customer);
}
Update
using (var connection = new CockroachDbConnection(ConnectionString))
{
var customer = connection.Query<Customer>(10045);
customer.FirstName = "John";
customer.LastUpdatedUtc = DateTime.UtcNow;
var affectedRows = connection.Update<Customer>(customer);
}
Merge
var customer = GetCustomer();
using (var connection = new CockroachDbConnection(ConnectionString))
{
var id = connection.Merge<Customer>(customer, qualifiers: e => new { e.Email });
}
Delete
using (var connection = new CockroachDbConnection(ConnectionString))
{
var customer = connection.Query<Customer>(10045);
var deletedCount = connection.Delete<Customer>(customer);
}
ExecuteQuery
using (var connection = new CockroachDbConnection(ConnectionString))
{
var customer = connection.ExecuteQuery<Customer>("SELECT * FROM \"Customer\" WHERE (\"Id\" = @Id);", new { Id = 10045 }).FirstOrDefault();
}
ExecuteNonQuery
using (var connection = new CockroachDbConnection(ConnectionString))
{
var affectedRows = connection.ExecuteNonQuery("UPDATE \"Customer\" SET \"FirstName\" = @FirstName WHERE (\"Id\" = @Id);", new { FirstName = "John", Id = 10045 });
}
ExecuteScalar
using (var connection = new CockroachDbConnection(ConnectionString))
{
var count = connection.ExecuteScalar<long>("SELECT COUNT(*) FROM \"Customer\";");
}
Visit the get-started page for the full CockroachDB guide.
Notes
CockroachDB speaks the PostgreSQL wire protocol, so identifiers are quoted with " and raw SQL uses @name parameter placeholders. The connection string follows the Npgsql format, e.g. Server=127.0.0.1;Port=26257;Database=RepoDb;User Id=root; for a local insecure node. CockroachDB's INT is a 64-bit INT8, so map integer columns to long properties (and read COUNT(*) as long), as shown above.
See the Limitations page before relying on transactions that mix data changes with schema changes.
License
Apache-2.0 — Copyright © 2026 Michael Camara Pendon
| 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 was computed. 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
- RepoDb (>= 1.17.0-alpha2)
- RepoDb.Connector.CockroachDb (>= 0.0.1-alpha1)
-
net8.0
- RepoDb (>= 1.17.0-alpha2)
- RepoDb.Connector.CockroachDb (>= 0.0.1-alpha1)
- System.Text.Json (>= 10.0.9)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RepoDb.CockroachDb:
| Package | Downloads |
|---|---|
|
RepoDb.CockroachDb.BulkOperations
An extension library that contains the official Bulk Operations of RepoDB for CockroachDB (using RepoDb.Connector.CockroachDb). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.1-alpha1 | 0 | 9/26/2026 |