Inert relational schema, dialect, and DDL contracts for Koan Data providers.
Get Started
| Product | Versions |
|---|---|
| .NET |
README
Sylin.Koan.Data.Relational.Abstractions
Inert relational schema, dialect, and DDL vocabulary for Koan provider authors.
Install
Application developers reference a functional relational connector instead. Provider authors can reference the contract without activating relational runtime behavior:
dotnet add package Sylin.Koan.Data.Relational.Abstractions
Meaningful result
Providers implement the narrow dialect/DDL feature contracts and pass one immutable RelationalSchemaPolicy for
each physical route. This keeps PostgreSQL, SQL Server, SQLite, and CockroachDB decisions isolated in one host.
IRelationalMappingDialect receives already-resolved PhysicalPath values. RelationalCommandPlan carries symbolic
reads, encoded values, identity/conditional predicates, query intent, and the originating mapping receipt.
RelationalColumnDefinition and RelationalIndexDefinition carry definition-level shape and encoding facts. None of
these contracts opens a connection or chooses a provider.
Guarantees and limits
- This package contains no
KoanModule, repository, translator, driver, or schema executor. - Referencing it cannot activate Data or open/change a database.
- Application code does not need these contracts; normal persistence remains Entity-first.
- The functional
Sylin.Koan.Data.Relationalpackage owns schema execution and translation mechanics.
See TECHNICAL.md for the contract boundary.
Downloads by Version
Similar & Alternative Packages
Hand-picked matching NuGet libraries based on tags & ecosystem
Depended On By
Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.