⚠ Deprecated: Legacy
Relational data support for Sora: EF Core integration and common helpers for SQL databases.
$ dotnet add package Sora.Data.RelationalAdapter-agnostic relational schema + LINQ translator used by providers like Sora.Data.Sqlite and Sora.Data.SqlServer.
IRelationalDialect, IRelationalSchemaModel, IRelationalSchemaSynchronizerILinqSqlDialect, LinqWhereTranslator<TEntity>, RelationalCommandCacheAn intentionally small LINQ-to-SQL helper lives in Linq/:
ILinqSqlDialect: tiny hooks the translator needs (identifier quoting, LIKE escaping, parameter naming).LinqWhereTranslator<TEntity>: translates a restricted subset of predicate expressions to a WHERE clause and parameters.RelationalCommandCache: caches select lists per (entity, dialect) to avoid repeated string building.Providers can implement ILinqSqlDialect (in addition to schema IRelationalDialect) to enable pushdown. Unsupported expressions should throw NotSupportedException; callers should fallback to in-memory filtering.
RelationalModelBuilder.FromEntity(typeof(TEntity)) builds a table model from annotationsEnsureCreated(dialect, model, connection) emits CREATE TABLE + INDEX statements (add-only)Notes:
SqliteDialect in Sora.Data.Sqlite).~/reference/data-access.md~/decisions/DATA-0061-data-access-pagination-and-streaming.md