Turso
This page contains the latest information of the releases of RepoDb.Sqlite.Turso library.
View the NuGet package here or download it directly here.
RepoDb.Sqlite.Turso (v0.0.1-alpha1) - Preview
Released: October 8, 2026
New
First (alpha) release of the dedicated Turso provider for RepoDB, built on top of Turso.Data.Sqlite.Provider — Turso’s .NET bindings for the SQLite-compatible Turso engine. Its SqliteConnection lives in the Turso.Data.Sqlite namespace. See Get Started with Turso.
What’s included
TursoBootstrap/TursoGlobalConfiguration.UseTurso()— initializes RepoDB for use with theTurso.Data.SqliteSqliteConnection(GlobalConfiguration.Setup().UseTurso()), mapping the TursoDbSetting, TursoDbHelper and TursoStatementBuilder. See TursoBootstrap and TursoGlobalConfiguration.- TursoDbSetting — the SQLite dialect —
[/]-quoted identifiers,@parameter prefix, no default schema, no table hints, no nativeUPSERTkeyword (Merge/MergeAll run as an Exists-then-Insert/Update flow instead), and multi-statement command text support (IsMultiStatementExecutable = true,MultiStatementSeparator = ";"). - TursoStatementBuilder — generates SQLite-flavored SQL for every operation:
LIMIT/OFFSETpaging,last_insert_rowid()identity retrieval for Insert, aRETURNINGclause for InsertAll, and a plainDELETE FROM ...(no trailingVACUUM) for Truncate. - TursoDbHelper — schema/type discovery sourced from
pragma table_info(...)(with the table name quoted), with the identity column detected from theCREATE TABLEtext insqlite_master(matched case-insensitively;AUTOINCREMENTor anINTEGER PRIMARY KEY), andSELECT last_insert_rowid()for identity retrieval. - Resolvers — DbTypeToTursoStringNameResolver, TursoConvertFieldResolver and TursoDbTypeNameToClientTypeResolver.
- Parameter attributes mirroring
SqliteParameter, settable per entity property: SqliteType. - Targets .NET 8, .NET 9 and .NET 10 — .NET Standard is not supported by the underlying driver.
Known limitations (v1)
Turso.Data.Sqlite.Provideris a pre-1.0 driver (v0.8.1), and the provider inherits whatever SQLite compatibility gaps it has.- No bulk operations package exists for this provider.
- Automatic conversion (
ConversionType.Automatic) is recommended when entity types differ from the driver’s SQLite storage types (for exampledecimal, boolean or date columns). It is an explicit, process-wide RepoDB option —UseTurso()does not change it. Data Source=:memory:creates a private in-memory database; keep the connection open while using it.- Merge/MergeAll are not a single native
MERGEstatement (SQLite has none); they run as an Exists-then-Insert/Update flow.
Bumps
- Referenced the
RepoDbpackagev1.17.0-alpha3. - References the
Turso.Data.Sqlite.Providerpackagev0.8.1.