using Microsoft.Data.Sqlite; namespace Aegis.Repository.SQLite; public sealed class SqliteConnectionFactory { private readonly string _connectionString; public SqliteConnectionFactory(string connectionString) => _connectionString = connectionString; public SqliteConnection Open() { var conn = new SqliteConnection(_connectionString); conn.Open(); using var cmd = conn.CreateCommand(); cmd.CommandText = """ PRAGMA foreign_keys = ON; PRAGMA journal_mode = WAL; PRAGMA synchronous = NORMAL; PRAGMA temp_store = MEMORY; """; cmd.ExecuteNonQuery(); return conn; } }