Table of Contents

Class SqliteOptions

Namespace
Qavren.Edge.Sqlite
Assembly
Qavren.Edge.Sqlite.dll

Per-database configuration. Bound as a named IOptions instance keyed by database name.

public sealed class SqliteOptions
Inheritance
SqliteOptions
Inherited Members

Properties

BusyTimeout

Issued per logical open as PRAGMA busy_timeout. This is SQLite's own busy handler and is distinct from Microsoft.Data.Sqlite's Default Timeout, which drives its 150 ms retry loop. Keep this below the MDS timeout so SQLite backs off before MDS starts spinning.

CacheSizeKiB

Issued per logical open as a negative PRAGMA cache_size, i.e. kibibytes rather than pages.

DatabaseName

File name under Directory. :memory: is allowed.

Directory

Overrides IEdgePaths.Data. Useful for tests and shared containers.

ForeignKeys

Applied through the Foreign Keys connection-string keyword, which MDS re-issues on every open.

JournalMode

Applied once, at database creation. journal_mode is persisted in the file header, so re-issuing it per open is pointless, and issuing it inside a transaction is an error.

Key

A fixed key. Requires the Cipher native package. Mutually exclusive with KeyProvider.

KeyProvider

A lazily resolved key, e.g. from secure storage. Mutually exclusive with Key.

Pooling

Microsoft.Data.Sqlite connection pooling. Safe to leave on even with a raw key; see SqliteKey.

Synchronous

Issued per logical open. Microsoft.Data.Sqlite 10.x has no Synchronous connection-string keyword.