DbConnectionPlus
A lightweight .NET ORM and extension library for System.Data.Common.DbConnection. It adds type-safe,
high-performance helpers — Query<T>, InsertEntity, UpdateEntities, temporary tables and more — as
extension methods on DbConnection, with per-database dialect support supplied by pluggable adapters.
Start at the repository README for installation and a quick start. These pages are the full documentation.
Guides
| Guide | What it covers |
|---|---|
| Querying | ExecuteNonQuery, ExecuteReader, ExecuteScalar, Exists, and every Query overload — entities, scalars, value tuples and untyped rows |
| Parameters and temporary tables | Parameter(value) and TemporaryTable(values), and the per-database caveats |
| Entity mapping and CRUD | Attributes and the fluent API, insert/update/delete, optimistic concurrency, enums |
| Configuration | Configure, EnumSerializationMode, InterceptDbCommand |
| Custom database adapters | Supporting a database that has no adapter package |
| Native AOT and trimming | What works, which providers are AOT-ready, and what you will see in your own build |
Reference
| Page | What it covers |
|---|---|
| API summary | Every public entry point, one line each, linked to the generated reference |
| Performance | The benchmark results, and how they were measured |
| Design decisions | Why the library works the way it does |
API reference
The generated reference for every package starts at
DbConnectionExtensions — the entry point for
nearly every operation.
The packages
| Package | Contents |
|---|---|
DbConnectionPlus |
The core library. Everything else depends on it. |
DbConnectionPlus.DatabaseAdapters.MySql |
MySQL dialect support. |
DbConnectionPlus.DatabaseAdapters.Oracle |
Oracle dialect support. |
DbConnectionPlus.DatabaseAdapters.PostgreSql |
PostgreSQL dialect support. |
DbConnectionPlus.DatabaseAdapters.Sqlite |
SQLite dialect support. |
DbConnectionPlus.DatabaseAdapters.SqlServer |
SQL Server dialect support. |
Install the core package plus the adapter for your database, then register the adapter once at startup:
DbConnectionExtensions.Configure(configuration => configuration.UseSqlServer());
They are versioned and released together, so a given release's adapter always matches its core package.