Pure.Chart.RichRelationalModel 0.1.0-preview.4.0.0

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

Pure.Chart.RichRelationalModel

Concrete immutable record implementations of the rich relational chart model for the Pure ecosystem.

Build & test NuGet License: MIT

Overview

Pure.Chart.RichRelationalModel provides sealed record implementations for chart domain entities that combine both the structural (model) and relational aspects of a chart into a single strongly-typed, immutable object. Each record implements a corresponding interface from Pure.Chart.RichRelationalModel.Abstractions and exposes primitive-typed properties via the Pure.Primitives.Abstractions contracts (IGuid, IString).

A "rich relational" model is one that carries not only foreign-key identifiers but also the fully resolved navigation objects — e.g. a ChartRichRelationalModel holds both TypeId (IGuid) and Type (IChartType), both XAxisId/YAxisId and the resolved IAxis instances.

Types

All types live in the Pure.Chart.RichRelationalModel namespace.

Type Implements Properties
ChartRichRelationalModel IChartRichRelationalModel Id, Title, Description, TypeId, Type, XAxisId, XAxis, YAxisId, YAxis, Series
AxisRichRelationalModel IAxisRichRelationalModel Id, Legend
ChartSeriesRichRelationalModel IChartSeriesRichRelationalModel Id, ChartId, Legend, XAxisSource, YAxisSource, LineType
ChartTypeRichRelationalModel IChartTypeRichRelationalModel Id, Name

Each record provides two constructors:

  • Copy constructor — accepts the corresponding rich relational interface, copies all properties.
  • Full constructor — accepts each property individually for explicit construction.

Design Principles

  • Immutable — all properties are init-only; records enforce value equality.
  • Composable — each type implements the interface hierarchy from Pure.Chart.RichRelationalModel.Abstractions, which itself composes IChart* and IChartRelationalModel* interfaces.
  • AOT-compatible — the library is trimming- and AOT-safe (IsAotCompatible = true).

Dependencies

Target Frameworks

  • .NET 7
  • .NET 8
  • .NET 9
  • .NET 10

Installation

dotnet add package Pure.Chart.RichRelationalModel

Usage

using Pure.Chart.RichRelationalModel;

// Construct from individual primitives
IChartRichRelationalModel chart = new ChartRichRelationalModel(
    id: myGuid,
    title: myTitle,
    description: myDescription,
    typeId: typeGuid,
    type: new ChartTypeRichRelationalModel(typeGuid, typeName),
    xAxisId: xGuid,
    xAxis: new AxisRichRelationalModel(xGuid, xLegend),
    yAxisId: yGuid,
    yAxis: new AxisRichRelationalModel(yGuid, yLegend),
    series: chartSeriesCollection
);

// Or copy-construct from any IChartRichRelationalModel
IChartRichRelationalModel copy = new ChartRichRelationalModel(existingChart);
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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.4.0.0 76 10/23/2026
0.1.0-preview.3.0.0 662 4/26/2026
0.1.0-preview.2.0.0 218 4/19/2026
0.1.0-preview.1.0.0 392 2/27/2026
0.1.0-preview.0.1.0 123 2/23/2026