AgentPrismSqliteOptions
AgentPrism.Sqlite.dllSettings for AgentPrism’s SQLite persistence layer.
public sealed class AgentPrismSqliteOptionsInheritance
Section titled “Inheritance”object ← AgentPrismSqliteOptions
Inherited Members
Section titled “Inherited Members”object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Remarks
Section titled “Remarks”Validation is done manually in AgentPrismSqliteOptionsValidator;
DataAnnotations is not used.
Constructors
Section titled “Constructors”AgentPrismSqliteOptions()
Section titled “ AgentPrismSqliteOptions()”public AgentPrismSqliteOptions()Fields
Section titled “Fields”SectionName
Section titled “ SectionName”The full path of the configuration section settings are read from.
public const string SectionName = "AgentPrism:Sqlite"Field Value
Section titled “Field Value”Properties
Section titled “Properties”AutoApplyMigrations
Section titled “ AutoApplyMigrations”Whether pending migrations should be applied automatically at application startup.
public bool AutoApplyMigrations { get; set; }Property Value
Section titled “Property Value”CommandTimeoutSeconds
Section titled “ CommandTimeoutSeconds”Upper time limit for a single SQL command (seconds). 0 means unlimited.
public int CommandTimeoutSeconds { get; set; }Property Value
Section titled “Property Value”ConnectionString
Section titled “ ConnectionString”The SQLite connection string (example: Data Source=agentprism.db).
public string? ConnectionString { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”A bare Data Source=:memory: is not supported: this library opens
a new connection for every operation via
DbDataSource.CreateDbConnection, and in
SQLite a bare :memory: gives each connection its own isolated,
anonymous database — even adding Cache=Shared does not change this
(only a URI-form name can be shared). Result: migrations get applied on
one connection, the first query lands on a different (empty) database and
crashes with “no such table”. Use the URI form for a shared in-memory
database instead, e.g. Data Source=file:agentprism?mode=memory&cache=shared
or Data Source=file::memory:?cache=shared. This setting is rejected
during validation (AgentPrismSqliteOptionsValidator).
TablePrefix
Section titled “ TablePrefix”The prefix added to the names of AgentPrism tables. The consumer’s own tables are never touched, under any condition.
public string TablePrefix { get; set; }Property Value
Section titled “Property Value”Remarks
Section titled “Remarks”SQLite has no schema concept; this is the SQLite equivalent (“do not touch the consumer’s schema”). The prefix goes through the SAME strict validation as PostgreSQL/SQL Server’s schema name: starts with a lowercase letter or underscore, contains lowercase letters, digits, and underscores, at most 63 characters.