CodeLogic.Data.Sqlite 5.0.121

This package has a SemVer 2.0.0 package version: 5.0.121+4885b82.
dotnet add package CodeLogic.Data.Sqlite --version 5.0.121
                    
NuGet\Install-Package CodeLogic.Data.Sqlite -Version 5.0.121
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CodeLogic.Data.Sqlite" Version="5.0.121" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CodeLogic.Data.Sqlite" Version="5.0.121" />
                    
Directory.Packages.props
<PackageReference Include="CodeLogic.Data.Sqlite" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CodeLogic.Data.Sqlite --version 5.0.121
                    
#r "nuget: CodeLogic.Data.Sqlite, 5.0.121"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CodeLogic.Data.Sqlite@5.0.121
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CodeLogic.Data.Sqlite&version=5.0.121
                    
Install as a Cake Addin
#tool nuget:?package=CodeLogic.Data.Sqlite&version=5.0.121
                    
Install as a Cake Tool

CodeLogic.Data.Sqlite

The SQLite provider for CodeLogic.Data, built on Microsoft.Data.Sqlite.

dotnet add package CodeLogic.Data.Sqlite
  • With the CodeLogic runtime: load SqliteDataLibrary next to DataLibrary, and set "provider": "sqlite" on a connection in config.data.json.
  • Without it: pass SqliteDataProvider.Instance to Database.Create.

Busy timeout, foreign keys and the synchronous mode are set once on every pooled native connection (and again after anything that may have changed them, such as a raw PRAGMA or WithConnectionAsync), and WAL once per database file (see the sqlite options); schema changes SQLite cannot ALTER rebuild the table; bulk copy runs prepared inserts in one transaction; db.Backup.SnapshotAsync copies the file with VACUUM INTO. No replicas and no advisory locks (AcquireLockAsync returns data.unsupported; run schema sync and migrations from one process).

Documentation: Providers.

Product Compatible and additional computed target framework versions.
.NET net11.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
5.0.121 0 11/10/2026
5.0.120-preview 0 11/10/2026
5.0.119-preview 37 11/8/2026
5.0.118-preview 31 11/8/2026
5.0.117-preview 43 11/7/2026
5.0.116-preview 48 11/1/2026
5.0.115-preview 46 11/1/2026
5.0.114-preview 35 10/31/2026
5.0.113-preview 38 10/31/2026

# Changelog

## 5.0 (2026-11-10)

### Added

- New package: the SQLite provider for CodeLogic.Data (CL.Data), built on Microsoft.Data.Sqlite. Part of the CL.Data
 database framework that replaces CL.SQLite in the CodeLogic 5 line. Targets .NET 11 and CodeLogic 5.
- File snapshots through VACUUM INTO.

### Changed

- `Microsoft.Data.Sqlite` 11.0.0 (the released version; the previews used RC3).

- **Connection pragmas once per pooled connection (behaviour change):** `foreign_keys`, `synchronous` and `busy_timeout` are applied when a pooled native connection is new, not on every open, which cost about 3 µs and 1 KB per command. A key lookup takes 10.4 µs and 2.5 KB instead of 14.4 µs and 3.9 KB (raw ADO.NET: 7.7 µs, 1.7 KB). A connection that may have changed them gets them again at its next open: after raw SQL that is not one plain query, DML or DDL statement (a `PRAGMA`, `ATTACH`, several statements), after `WithConnectionAsync`, after a schema sync and after an interrupted command. Two databases on one file keep their own settings. With `pooling: false` every open applies them. The `cl.data.session.resets` metric counts the marked connections.

### Fixed

- The schema introspector always reads the primary.

### Documentation

- The README says when the pragmas apply: busy timeout, foreign keys and synchronous mode once per pooled native connection (and again after anything that may have changed them), WAL once per database file.