Pure.RelationalSchema 2.1.0

dotnet add package Pure.RelationalSchema --version 2.1.0
                    
NuGet\Install-Package Pure.RelationalSchema -Version 2.1.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="Pure.RelationalSchema" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Pure.RelationalSchema" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Pure.RelationalSchema" />
                    
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 Pure.RelationalSchema --version 2.1.0
                    
#r "nuget: Pure.RelationalSchema, 2.1.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 Pure.RelationalSchema@2.1.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=Pure.RelationalSchema&version=2.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Pure.RelationalSchema&version=2.1.0
                    
Install as a Cake Tool

Pure.RelationalSchema

Concrete implementations of the relational schema domain model for the Pure ecosystem — schemas, tables, columns, indexes, and foreign keys.

.NET build & test Build and Deploy NuGet License: MIT

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

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

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