DBAClientX.SQLite
0.13.0
dotnet add package DBAClientX.SQLite --version 0.13.0
NuGet\Install-Package DBAClientX.SQLite -Version 0.13.0
<PackageReference Include="DBAClientX.SQLite" Version="0.13.0" />
<PackageVersion Include="DBAClientX.SQLite" Version="0.13.0" />
<PackageReference Include="DBAClientX.SQLite" />
paket add DBAClientX.SQLite --version 0.13.0
#r "nuget: DBAClientX.SQLite, 0.13.0"
#:package DBAClientX.SQLite@0.13.0
#addin nuget:?package=DBAClientX.SQLite&version=0.13.0
#tool nuget:?package=DBAClientX.SQLite&version=0.13.0
DbaClientX.SQLite
SQLite provider for DbaClientX (Microsoft.Data.Sqlite). Supports non-query, scalar, queries, streaming, transactions, bulk insert.
Also includes SQLite maintenance helpers for online database backup, WAL checkpointing, PRAGMA optimize, and graceful shutdown preparation.
- Target Frameworks:
net472(win-x64),net8.0,net10.0 - NuGet:
DBAClientX.SQLite
Install
dotnet add package DBAClientX.SQLite
Quick examples
Query table:
var sq = new DBAClientX.SQLite();
var result = sq.Query(
database: "app.db",
query: "SELECT Id, Name FROM Users ORDER BY Id"
);
Stream query (netstandard2.1+/net8.0):
await foreach (DataRow row in sq.QueryStreamAsync(
database: "app.db",
query: "SELECT Id, Name FROM Users ORDER BY Id",
cancellationToken: ct))
{
// consume row
}
Typed mapped query:
var rows = await sq.QueryAsListAsync(
database: "app.db",
query: "SELECT Id, Name FROM Users ORDER BY Id",
map: row => new UserRow(
Id: row.GetInt32(row.GetOrdinal("Id")),
Name: row.GetString(row.GetOrdinal("Name"))),
cancellationToken: ct);
For larger result sets, use QueryStreamAsync<T> with the same mapper shape to avoid buffering all rows.
Execute against a full connection string without losing provider options:
var connectionString = new SqliteConnectionStringBuilder
{
DataSource = "app.db",
Mode = SqliteOpenMode.ReadWrite,
Cache = SqliteCacheMode.Shared,
Pooling = false,
DefaultTimeout = 15
}.ConnectionString;
await sq.ExecuteNonQueryWithConnectionStringAsync(
connectionString,
"UPDATE Users SET Name = @name WHERE Id = @id",
new Dictionary<string, object?> { ["@name"] = "Alice", ["@id"] = 1 },
cancellationToken: ct);
SQLiteGeneric.GenericExecutors.ExecuteSqlAsync accepts either a path or a full connection string. Full connection strings preserve mode, cache, pooling, timeout, password, foreign-key, trigger, and VFS settings. File paths containing = remain valid paths.
Graceful shutdown maintenance:
var sq = new DBAClientX.SQLite();
await sq.PrepareForShutdownAsync(
database: "app.db",
options: new SqliteShutdownMaintenanceOptions
{
CheckpointMode = SqliteCheckpointMode.Truncate,
OptimizeAfterCheckpoint = true
});
Backup before maintenance:
var sq = new DBAClientX.SQLite();
sq.BackupDatabase("app.db", "backups/app.db");
See also
- Core mapping + invoker:
DBAClientX.Core
| 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. |
| .NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
-
.NETFramework 4.7.2
- DBAClientX.Core (>= 0.15.0)
- Microsoft.Data.Sqlite (>= 10.0.10)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 3.0.5)
- SQLitePCLRaw.core (>= 3.0.5)
-
net10.0
- DBAClientX.Core (>= 0.15.0)
- Microsoft.Data.Sqlite (>= 10.0.10)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 3.0.5)
- SQLitePCLRaw.core (>= 3.0.5)
-
net8.0
- DBAClientX.Core (>= 0.15.0)
- Microsoft.Data.Sqlite (>= 10.0.10)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 3.0.5)
- SQLitePCLRaw.core (>= 3.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.13.0 | 44 | 8/2/2026 |
| 0.12.0 | 39 | 8/2/2026 |
| 0.11.0 | 1,132 | 7/12/2026 |
| 0.10.0 | 440 | 6/28/2026 |
| 0.9.0 | 144 | 6/21/2026 |
| 0.8.0 | 1,432 | 6/20/2026 |
| 0.7.0 | 1,207 | 6/19/2026 |
| 0.6.0 | 940 | 5/25/2026 |
| 0.5.0 | 134 | 4/12/2026 |
| 0.4.0 | 125 | 4/11/2026 |
| 0.3.0 | 548 | 3/28/2026 |
| 0.2.0 | 6,163 | 3/10/2026 |
| 0.1.1 | 4,511 | 2/10/2026 |
| 0.1.0 | 601 | 2/6/2026 |