CSharpDB.Data
2.6.0
Prefix Reserved
See the version list below for details.
dotnet add package CSharpDB.Data --version 2.6.0
NuGet\Install-Package CSharpDB.Data -Version 2.6.0
<PackageReference Include="CSharpDB.Data" Version="2.6.0" />
<PackageVersion Include="CSharpDB.Data" Version="2.6.0" />
<PackageReference Include="CSharpDB.Data" />
paket add CSharpDB.Data --version 2.6.0
#r "nuget: CSharpDB.Data, 2.6.0"
#:package CSharpDB.Data@2.6.0
#addin nuget:?package=CSharpDB.Data&version=2.6.0
#tool nuget:?package=CSharpDB.Data&version=2.6.0
CSharpDB.Data
ADO.NET provider for the CSharpDB embedded database engine. Standard DbConnection, DbCommand, and DbDataReader with parameterized queries and transactions.
Overview
CSharpDB.Data provides a standard System.Data.Common (ADO.NET) data provider for CSharpDB. Use familiar DbConnection/DbCommand/DbDataReader patterns to query and modify your embedded database. Supports parameterized queries, transactions, prepared statements, prepared-template caching, schema introspection, and both file-backed and in-memory connection modes.
Key Types
| Type | Description |
|---|---|
CSharpDbConnection |
DbConnection for file-backed databases, private :memory: databases, and named shared :memory:name databases |
CSharpDbCommand |
DbCommand with prepared statement support, template caching, and parameter binding |
CSharpDbDataReader |
DbDataReader with async iteration, typed getters, and HasRows |
CSharpDbTransaction |
DbTransaction with auto-rollback on dispose |
CSharpDbFactory |
Singleton DbProviderFactory for creating connections and commands |
CSharpDbParameter |
Parameter support with AddWithValue convenience method |
Usage
using CSharpDB.Data;
// Open a connection
await using var connection = new CSharpDbConnection("Data Source=myapp.db");
await connection.OpenAsync();
// Create a table
await using var cmd = connection.CreateCommand();
cmd.CommandText = """
CREATE TABLE products (
id INTEGER PRIMARY KEY,
name TEXT,
price REAL
)
""";
await cmd.ExecuteNonQueryAsync();
// Insert with parameters
cmd.CommandText = "INSERT INTO products VALUES (@id, @name, @price)";
cmd.Parameters.AddWithValue("@id", 1);
cmd.Parameters.AddWithValue("@name", "Widget");
cmd.Parameters.AddWithValue("@price", 9.99);
await cmd.ExecuteNonQueryAsync();
// Query with a data reader
cmd.CommandText = "SELECT name, price FROM products WHERE price < @max";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@max", 50.0);
await using var reader = await cmd.ExecuteReaderAsync();
while (await reader.ReadAsync())
{
Console.WriteLine($"{reader.GetString(0)}: ${reader.GetDouble(1):F2}");
}
// Transactions
await using var tx = await connection.BeginTransactionAsync();
cmd.Transaction = (CSharpDbTransaction)tx;
cmd.CommandText = "INSERT INTO products VALUES (2, 'Gadget', 19.99)";
await cmd.ExecuteNonQueryAsync();
await tx.CommitAsync();
// Save an in-memory connection back to disk
await connection.SaveToFileAsync("products.db");
// Schema introspection
var csConn = (CSharpDbConnection)connection;
var tables = csConn.GetTableNames();
var schema = csConn.GetTableSchema("products");
Using DbProviderFactory
var factory = CSharpDbFactory.Instance;
await using var conn = factory.CreateConnection();
conn.ConnectionString = "Data Source=myapp.db";
await conn.OpenAsync();
In-Memory Connection Strings
Data Source=:memory:
Creates a private in-memory database scoped to a single connection.
Data Source=:memory:shared-cache
Creates or attaches to a named shared in-memory database within the current process.
Data Source=:memory:shared-cache;Load From=seed.db
Seeds an in-memory database from seed.db on first open. For named shared memory, later opens must either omit Load From or use the same source path.
Named shared in-memory connections allow multiple live connections at once. One connection may own an explicit transaction at a time; other connections can still run reads against the last committed snapshot while that transaction is active.
Connection Pooling (Opt-In)
Connection pooling is disabled by default. Enable it explicitly in the connection string:
Data Source=myapp.db;Pooling=true;Max Pool Size=16
To force-release pooled physical connections (for example before deleting database files):
CSharpDbConnection.ClearPool("Data Source=myapp.db;Pooling=true;Max Pool Size=16");
CSharpDbConnection.ClearAllPools();
ClearPool and ClearAllPools also clear named shared in-memory hosts.
Installation
dotnet add package CSharpDB.Data
For the recommended all-in-one package:
dotnet add package CSharpDB
Dependencies
CSharpDB.Engine- embedded database engine
Related Packages
| Package | Description |
|---|---|
| CSharpDB | All-in-one package for application development |
| CSharpDB.Engine | Underlying embedded database engine |
| CSharpDB.Client | Authoritative client SDK for direct and daemon-backed database access |
License
MIT - see LICENSE for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- CSharpDB.Engine (>= 2.6.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on CSharpDB.Data:
| Package | Downloads |
|---|---|
|
CSharpDB
All-in-one package for CSharpDB application development. Includes the unified client, engine, ADO.NET provider, and diagnostics. |
|
|
CSharpDB.EntityFrameworkCore
Entity Framework Core 10 provider for embedded CSharpDB databases. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.8.0 | 108 | 5/17/2026 |
| 3.7.0 | 112 | 5/9/2026 |
| 3.6.0 | 111 | 5/3/2026 |
| 3.5.0 | 116 | 4/28/2026 |
| 3.4.0 | 112 | 4/25/2026 |
| 3.3.0 | 108 | 4/23/2026 |
| 3.2.0 | 105 | 4/19/2026 |
| 3.1.2 | 100 | 4/15/2026 |
| 3.1.0 | 97 | 4/15/2026 |
| 3.0.0 | 116 | 4/8/2026 |
| 2.9.1 | 101 | 4/7/2026 |
| 2.8.1 | 102 | 4/6/2026 |
| 2.8.0 | 104 | 4/4/2026 |
| 2.7.0 | 104 | 3/31/2026 |
| 2.6.0 | 107 | 3/29/2026 |
| 2.5.0 | 200 | 3/28/2026 |
| 2.4.0 | 105 | 3/24/2026 |
| 2.3.0 | 100 | 3/22/2026 |
| 2.2.0 | 95 | 3/21/2026 |
| 2.0.1 | 115 | 3/14/2026 |