Sylin.Koan.Data.Relational 0.21.0

dotnet add package Sylin.Koan.Data.Relational --version 0.21.0
                    
NuGet\Install-Package Sylin.Koan.Data.Relational -Version 0.21.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sylin.Koan.Data.Relational" Version="0.21.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sylin.Koan.Data.Relational" Version="0.21.0" />
                    
Directory.Packages.props
<PackageReference Include="Sylin.Koan.Data.Relational" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sylin.Koan.Data.Relational --version 0.21.0
                    
#r "nuget: Sylin.Koan.Data.Relational, 0.21.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sylin.Koan.Data.Relational@0.21.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sylin.Koan.Data.Relational&version=0.21.0
                    
Install as a Cake Addin
#tool nuget:?package=Sylin.Koan.Data.Relational&version=0.21.0
                    
Install as a Cake Tool

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

  • the single functional registration for IRelationalSchemaOrchestrator;
  • RelationalCommandPlanner, which turns a MappingPlan into complete get/query/insert/update/delete/patch/CAS plans;
  • IRelationalMappingSchemaOrchestrator, which derives and validates complete column/index definitions from that map;
  • mapped filter translation that uses the same physical path and codec as writes and indexes;
  • provider-neutral schema validation and additive creation mechanics;
  • 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.External is an absolute DDL ceiling even when a relational AutoCreate policy 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.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 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.Connector.SqlServer

SQL Server provider for Koan relational data with JSON-projection pushdowns, guardrails, and governance.

Sylin.Koan.Data.Connector.Postgres

PostgreSQL provider for Koan relational data: Dapper-based SQL integration with guardrails and governance.

Sylin.Koan.Data.Relational.Npgsql

Shared Npgsql repository mechanics for PostgreSQL-wire Koan Data providers.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.21.0 70 7/30/2026
0.20.4 106 7/24/2026
0.20.3 227 7/22/2026
0.20.2 158 7/21/2026
0.17.0 137 6/12/2026
0.8.0 137 5/16/2026