Pure.RelationalSchema
2.1.0
dotnet add package Pure.RelationalSchema --version 2.1.0
NuGet\Install-Package Pure.RelationalSchema -Version 2.1.0
<PackageReference Include="Pure.RelationalSchema" Version="2.1.0" />
<PackageVersion Include="Pure.RelationalSchema" Version="2.1.0" />
<PackageReference Include="Pure.RelationalSchema" />
paket add Pure.RelationalSchema --version 2.1.0
#r "nuget: Pure.RelationalSchema, 2.1.0"
#:package Pure.RelationalSchema@2.1.0
#addin nuget:?package=Pure.RelationalSchema&version=2.1.0
#tool nuget:?package=Pure.RelationalSchema&version=2.1.0
Pure.RelationalSchema
Concrete implementations of the relational schema domain model for the Pure ecosystem — schemas, tables, columns, indexes, and foreign keys.
Overview
Pure.RelationalSchema provides sealed record implementations of the abstract relational schema interfaces defined in Pure.RelationalSchema.Abstractions. All types use IString and IBool from Pure.Primitives instead of raw CLR primitives, keeping the domain model consistent with the broader Pure ecosystem.
Domain Model
| Type | Implements | Description |
|---|---|---|
Schema |
ISchema |
A named schema containing tables and cross-table foreign keys |
Table |
ITable |
A named table with columns and indexes |
Column |
IColumn |
A named column with an associated column type |
Index |
IIndex |
An index (unique or non-unique) over one or more columns |
ForeignKey |
IForeignKey |
A referential constraint between columns in two tables |
Column Types
All column types implement IColumnType and expose a string Name property.
| Type | Name value |
|---|---|
StringColumnType |
"string" |
IntColumnType |
"int" |
LongColumnType |
"long" |
UIntColumnType |
"uint" |
ULongColumnType |
"ulong" |
UShortColumnType |
"ushort" |
FloatColumnType |
"float" |
DoubleColumnType |
"double" |
BoolColumnType |
"bool" |
UuidColumnType |
"uuid" |
DateColumnType |
"date" |
TimeColumnType |
"time" |
DateTimeColumnType |
"datetime" |
DeterminedHashColumnType |
"determined_hash" |
Dependencies
Pure.RelationalSchema.Abstractions1.2.0 — abstract interfaces for the relational schema domain model (ISchema,ITable,IColumn,IColumnType,IIndex,IForeignKey)Pure.Primitives3.6.4 — concrete implementations of Pure primitive types (IString,IBool, etc.)
Target Frameworks
- .NET 7
- .NET 8
- .NET 9
- .NET 10
Installation
dotnet add package Pure.RelationalSchema
Usage
using Pure.Primitives.String;
using Pure.Primitives.Bool;
using Pure.RelationalSchema.Schema;
using Pure.RelationalSchema.Table;
using Pure.RelationalSchema.Column;
using Pure.RelationalSchema.ColumnType;
using Pure.RelationalSchema.Index;
using Pure.RelationalSchema.ForeignKey;
IColumn id = new Column(new String("id"), new UuidColumnType());
IColumn name = new Column(new String("name"), new StringColumnType());
IIndex primaryKey = new Index(new Bool(true), [id]);
ITable usersTable = new Table(new String("users"), [id, name], [primaryKey]);
ISchema schema = new Schema(new String("public"), [usersTable], []);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- Pure.Primitives (>= 3.7.0)
- Pure.RelationalSchema.Abstractions (>= 1.2.0)
-
net7.0
- Pure.Primitives (>= 3.7.0)
- Pure.RelationalSchema.Abstractions (>= 1.2.0)
-
net8.0
- Pure.Primitives (>= 3.7.0)
- Pure.RelationalSchema.Abstractions (>= 1.2.0)
-
net9.0
- Pure.Primitives (>= 3.7.0)
- Pure.RelationalSchema.Abstractions (>= 1.2.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Pure.RelationalSchema:
| Package | Downloads |
|---|---|
|
Pure.RelationalSchema.Self.Schema
Package Description |
|
|
Pure.RelationalSchema.Storage.PureQL.Projection
Package Description |
|
|
Pure.RelationalSchema.Abstractions.Serialization.System
Package Description |
|
|
PureQL.CSharp.Model.Samples
Package Description |
|
|
Pure.RelationalSchema.Storage.PostgreSQL.Creation
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.1.0 | 569 | 10/22/2026 |
| 2.0.3 | 2,442 | 6/25/2026 |
| 2.0.2 | 1,591 | 5/20/2026 |
| 2.0.1 | 567 | 5/7/2026 |
| 2.0.0 | 1,608 | 3/11/2026 |
| 1.4.0 | 588 | 3/2/2026 |
| 1.3.0 | 1,839 | 12/2/2025 |
| 1.2.0 | 1,071 | 11/4/2025 |
| 1.1.0 | 1,452 | 9/28/2025 |
| 1.0.0 | 299 | 9/26/2025 |
| 0.3.0 | 361 | 9/22/2025 |
| 0.2.0 | 674 | 8/21/2025 |
| 0.1.0 | 510 | 6/24/2025 |