Sylin.Koan.Data.Relational
1.0.60
dotnet add package Sylin.Koan.Data.Relational --version 1.0.60
NuGet\Install-Package Sylin.Koan.Data.Relational -Version 1.0.60
<PackageReference Include="Sylin.Koan.Data.Relational" Version="1.0.60" />
<PackageVersion Include="Sylin.Koan.Data.Relational" Version="1.0.60" />
<PackageReference Include="Sylin.Koan.Data.Relational" />
paket add Sylin.Koan.Data.Relational --version 1.0.60
#r "nuget: Sylin.Koan.Data.Relational, 1.0.60"
#:package Sylin.Koan.Data.Relational@1.0.60
#addin nuget:?package=Sylin.Koan.Data.Relational&version=1.0.60
#tool nuget:?package=Sylin.Koan.Data.Relational&version=1.0.60
Sylin.Koan.Data.Relational
Shared relational execution for Koan Data providers: compiled mapping consumption, symbolic command planning, definition-level schema governance, SQL translation, parameter encoding, and ADO helpers.
Application use
Applications normally reference a concrete connector, not this package directly:
dotnet add package Sylin.Koan.Data.Connector.Sqlite
Provider authors who need the functional relational owner can reference it explicitly:
dotnet add package Sylin.Koan.Data.Relational
The application remains Entity-first:
builder.Services.AddKoan();
public sealed class Todo : Entity<Todo>;
The selected connector supplies its endpoint, schema, and provider-specific SQL. Koan applies the connector's route-local DDL and matching policy automatically on first meaningful use.
What this package owns
IRelationalSchemaOrchestrator, the single owner of every relational schema decision - which columns a mapping implies, which indexes are worth building, whether the environment consents to automatic DDL, and whether a difference is fatal - working from the sameMappingPlanthe connector's own commands use;RelationalCommandPlanner, which turns aMappingPlaninto complete get/query/insert/update/delete/patch/CAS plans;- mapped filter translation that uses the same physical path and codec as writes and indexes;
- restricted filter-to-SQL translation shared by relational connectors;
- comparable scalar JSON encoding and AOT-clean ADO command helpers.
It does not elect a Data provider, open a connection, activate PostgreSQL/SQL Server/SQLite/CockroachDB, or expose an
application-facing relational registration call. Cross-module contracts live in
Sylin.Koan.Data.Relational.Abstractions; PostgreSQL-wire repository mechanics live in the module-free
Sylin.Koan.Data.Relational.Npgsql package.
Guarantees and limits
- Schema policy and resolved storage identity are supplied per selected provider/source route; connectors do not share a mutable global schema decision.
StorageLifecycle.Externalis an absolute DDL ceiling even when a relationalAutoCreatepolicy was supplied.- Selective reads, mapped/expression indexes, rewrite-free behavior, and TTL remain unproved until the provider's executable feature seam says otherwise.
- Schema creation is additive. This package is not a destructive migration engine.
- Unsupported query expressions reject rather than silently scanning an unbounded source.
- A concrete connector and reachable database are required for persistence; this package alone provides no backend.
See TECHNICAL.md for provider-author contracts and supported translation boundaries.
Enum storage contract
Default Entity storage preserves enum names as strings, including nullable values, nested values, collections, and declared EnumMember aliases. Unnamed numeric values fail instead of silently changing the storage format. Queries use the same spelling. Ordinary enum ordering uses declared ordinal ranks in native expressions while the stored value stays a string; native ordering of arbitrary Flags combinations rejects correctively. An explicit external mapping codec remains responsible for its declared physical representation. Existing numeric rows or columns require a separate, explicit migration; upgrades do not rewrite them automatically.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.10)
- Microsoft.Extensions.Configuration.Json (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Hosting (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Console (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.10)
- Newtonsoft.Json (>= 13.0.4)
- Sylin.Koan.Data.Abstractions (>= 1.0.41 && < 2.0.0)
- Sylin.Koan.Data.Core (>= 1.0.73 && < 2.0.0)
- Sylin.Koan.Data.Relational.Abstractions (>= 1.0.42 && < 2.0.0)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Sylin.Koan.Data.Relational:
| Package | Downloads |
|---|---|
|
Sylin.Koan.Data.Connector.Sqlite
Durable embedded SQLite provider for Koan Entity data with zero-config local storage, schema management, queries, and bounded paging. |
|
|
Sylin.Koan.Data.Relational.Npgsql
Shared Npgsql repository mechanics for PostgreSQL-wire Koan Data providers. |
|
|
Sylin.Koan.Data.Connector.Postgres
PostgreSQL provider for Koan relational data: raw-ADO SQL integration with guardrails and governance. |
|
|
Sylin.Koan.Data.Connector.SqlServer
SQL Server provider for Koan relational data with JSON-projection pushdowns, guardrails, and governance. |
|
|
Sylin.Koan.Data.Connector.MySql
MySQL provider for Koan relational data with native filtering, atomic writes, and governed source routing. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.60 | 237 | 9/13/2026 |
| 1.0.58 | 207 | 9/12/2026 |
| 1.0.56 | 179 | 9/12/2026 |
| 1.0.55 | 195 | 9/10/2026 |
| 1.0.52 | 201 | 9/10/2026 |
| 1.0.49 | 195 | 9/9/2026 |
| 1.0.46 | 194 | 9/9/2026 |
| 1.0.44 | 220 | 9/9/2026 |
| 1.0.40 | 206 | 9/9/2026 |
| 1.0.39 | 195 | 9/9/2026 |
| 1.0.35 | 203 | 9/5/2026 |
| 1.0.34 | 199 | 8/30/2026 |
| 1.0.33 | 184 | 8/30/2026 |
| 1.0.31 | 178 | 8/28/2026 |
| 1.0.30 | 175 | 8/28/2026 |
| 1.0.29 | 181 | 8/28/2026 |
| 1.0.28 | 172 | 8/28/2026 |
| 1.0.27 | 178 | 8/28/2026 |
| 1.0.26 | 160 | 8/27/2026 |
| 1.0.22 | 104 | 8/27/2026 |