PureLogicTek.DapperPipeline.Sqlite
1.12.0
dotnet add package PureLogicTek.DapperPipeline.Sqlite --version 1.12.0
NuGet\Install-Package PureLogicTek.DapperPipeline.Sqlite -Version 1.12.0
<PackageReference Include="PureLogicTek.DapperPipeline.Sqlite" Version="1.12.0" />
<PackageVersion Include="PureLogicTek.DapperPipeline.Sqlite" Version="1.12.0" />
<PackageReference Include="PureLogicTek.DapperPipeline.Sqlite" />
paket add PureLogicTek.DapperPipeline.Sqlite --version 1.12.0
#r "nuget: PureLogicTek.DapperPipeline.Sqlite, 1.12.0"
#:package PureLogicTek.DapperPipeline.Sqlite@1.12.0
#addin nuget:?package=PureLogicTek.DapperPipeline.Sqlite&version=1.12.0
#tool nuget:?package=PureLogicTek.DapperPipeline.Sqlite&version=1.12.0
PureLogicTek.DapperPipeline.Sqlite
SQLite dialect for PureLogicTek.DapperPipeline.
dotnet add package PureLogicTek.DapperPipeline.Sqlite
services.AddDapperPipeline(new SqliteDialect(connectionString));
Provides SqliteDialect (backed by Microsoft.Data.Sqlite):
@Word,$Word, and:Wordparameter styles- Retry on
SQLITE_BUSY(5) andSQLITE_LOCKED(6) - Error-code extraction from
SqliteException.SqliteErrorCodefor use withIErrorMapper
Rowsets render via json_each — one parameter for any number of rows, so bulk inserts never approach
SQLite's variable cap:
var entries = builder.RowSet("entry", rows, map => map.Column("id", x => x.Id));
builder.Append($"INSERT INTO t (id) SELECT entry.id FROM {entries}");
SQLite has no table variables — use CTEs instead of
DECLARE @Var TABLE.
See the main DapperPipeline README for full usage.
| 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 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. |
-
net10.0
- Microsoft.Data.Sqlite (>= 9.0.17)
- PureLogicTek.DapperPipeline (>= 1.12.0)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 3.0.3)
-
net8.0
- Microsoft.Data.Sqlite (>= 9.0.17)
- PureLogicTek.DapperPipeline (>= 1.12.0)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 3.0.3)
-
net9.0
- Microsoft.Data.Sqlite (>= 9.0.17)
- PureLogicTek.DapperPipeline (>= 1.12.0)
- SQLitePCLRaw.bundle_e_sqlite3 (>= 3.0.3)
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 | |
|---|---|---|---|
| 1.12.0 | 153 | 8/24/2026 | |
| 1.11.2 | 117 | 8/24/2026 | |
| 1.11.1 | 116 | 8/24/2026 | |
| 1.11.0 | 121 | 8/24/2026 | |
| 1.10.0 | 116 | 8/24/2026 | |
| 1.9.0 | 143 | 7/14/2026 | |
| 1.8.0 | 125 | 7/13/2026 | |
| 1.7.1 | 124 | 7/13/2026 | |
| 1.7.0 | 126 | 7/13/2026 | |
| 1.6.0 | 121 | 7/13/2026 | |
| 1.5.1 | 122 | 7/13/2026 | |
| 1.5.0 | 127 | 7/13/2026 | |
| 1.4.1 | 129 | 7/13/2026 | |
| 1.4.0 | 121 | 7/13/2026 | |
| 1.3.0 | 120 | 7/13/2026 | |
| 1.2.0 | 129 | 7/13/2026 | |
| 1.1.0 | 125 | 7/13/2026 | |
| 1.0.3 | 158 | 7/13/2026 | |
| 1.0.2 | 149 | 7/11/2026 | |
| 1.0.1 | 142 | 7/11/2026 |
New: x.SqlParam() and x.SqlIdentifier() -- the two doors a raw string can take into SQL, now discoverable in IntelliSense with no extra using. Sql.Text is deprecated in favour of x.SqlParam() (warning; removed in 2.0). Sql.Identifier is unchanged.
Fixes: ToDebug() on SQL Server emitted DECLARE @@p001_x -- a doubled @, which is T-SQL's system-variable prefix, so the script was invalid and could not be pasted into SSMS. Parameter names could contain characters SQL rejects (Sql.Text("literal") produced @p001_"literal"). Parameter scopes are now 1-based, so the first command emits @p001_* as the docs have always said -- it was emitting @p000_*.
NOTE: generated parameter NAMES change in this release. They are not API, but if you hardcoded one in AppendRaw or snapshot-tested generated SQL, you will see a diff.
Full notes: https://github.com/purelogictek-inc/DapperPipeline/blob/main/CHANGELOG.md