Pure.Chart.RelationalModel.Abstractions
0.1.0-preview.7.0.0
dotnet add package Pure.Chart.RelationalModel.Abstractions --version 0.1.0-preview.7.0.0
NuGet\Install-Package Pure.Chart.RelationalModel.Abstractions -Version 0.1.0-preview.7.0.0
<PackageReference Include="Pure.Chart.RelationalModel.Abstractions" Version="0.1.0-preview.7.0.0" />
<PackageVersion Include="Pure.Chart.RelationalModel.Abstractions" Version="0.1.0-preview.7.0.0" />
<PackageReference Include="Pure.Chart.RelationalModel.Abstractions" />
paket add Pure.Chart.RelationalModel.Abstractions --version 0.1.0-preview.7.0.0
#r "nuget: Pure.Chart.RelationalModel.Abstractions, 0.1.0-preview.7.0.0"
#:package Pure.Chart.RelationalModel.Abstractions@0.1.0-preview.7.0.0
#addin nuget:?package=Pure.Chart.RelationalModel.Abstractions&version=0.1.0-preview.7.0.0&prerelease
#tool nuget:?package=Pure.Chart.RelationalModel.Abstractions&version=0.1.0-preview.7.0.0&prerelease
Pure.Chart.RelationalModel.Abstractions
Relational-model interfaces for chart entities in the Pure ecosystem — immutable, composable contracts for charts, chart types, series, and axes.
Overview
Pure.Chart.RelationalModel.Abstractions defines minimal, read-only interfaces that represent the relational structure of chart data. Each interface captures the identifiers and scalar properties that a chart entity carries in a relational model — no rendering logic, no state mutation. Properties are typed using primitives from Pure.Primitives.Abstractions.
Interfaces
| Interface | Namespace | Description |
|---|---|---|
IChartRelationalModel |
Pure.Chart.RelationalModel.Abstractions |
A chart entity with identity, title, description, type reference, and X/Y axis references |
IChartTypeRelationalModel |
Pure.Chart.RelationalModel.Abstractions |
A chart type with identity and name |
IChartSeriesRelationalModel |
Pure.Chart.RelationalModel.Abstractions |
A chart series with identity, owning chart reference, legend, X/Y axis source mappings, and line type |
IAxisRelationalModel |
Pure.Chart.RelationalModel.Abstractions |
An axis with identity and legend |
Member reference
IChartRelationalModel
| Member | Type | Description |
|---|---|---|
Id |
IGuid |
Unique identifier of the chart |
Title |
IString |
Display title |
Description |
IString |
Human-readable description |
TypeId |
IGuid |
Foreign key to IChartTypeRelationalModel |
XAxisId |
IGuid |
Foreign key to the X-axis IAxisRelationalModel |
YAxisId |
IGuid |
Foreign key to the Y-axis IAxisRelationalModel |
IChartTypeRelationalModel
| Member | Type | Description |
|---|---|---|
Id |
IGuid |
Unique identifier of the chart type |
Name |
IString |
Display name (e.g. "Line", "Bar", "Pie") |
IChartSeriesRelationalModel
| Member | Type | Description |
|---|---|---|
Id |
IGuid |
Unique identifier of the series |
ChartId |
IGuid |
Foreign key to the owning IChartRelationalModel |
Legend |
IString |
Series legend label |
XAxisSource |
IString |
Data source key mapped to the X axis |
YAxisSource |
IString |
Data source key mapped to the Y axis |
LineType |
IString |
Line style used to draw the series (e.g. "solid", "dashed", "dotted") |
IAxisRelationalModel
| Member | Type | Description |
|---|---|---|
Id |
IGuid |
Unique identifier of the axis |
Legend |
IString |
Axis legend label |
Design Principles
- Immutable — all interfaces expose only
getproperties; no setters, no mutating methods. - Composable — builds on
Pure.Primitives.Abstractionsprimitives (IGuid,IString) rather than raw BCL types. - AOT-compatible — fully compatible with Native AOT compilation.
Dependencies
Pure.Primitives.Abstractions— immutable, composable abstractions over .NET primitive types (IGuid,IString,INumber<T>, etc.)
Target Frameworks
- .NET 7
- .NET 8
- .NET 9
- .NET 10
Installation
dotnet add package Pure.Chart.RelationalModel.Abstractions
Usage
Implement the interfaces to represent chart entities in your domain or persistence layer:
using Pure.Chart.RelationalModel.Abstractions;
using Pure.Primitives.Abstractions.Guid;
using Pure.Primitives.Abstractions.String;
public sealed class ChartRecord : IChartRelationalModel
{
public IGuid Id { get; init; }
public IString Title { get; init; }
public IString Description { get; init; }
public IGuid TypeId { get; init; }
public IGuid XAxisId { get; init; }
public IGuid YAxisId { get; init; }
}
Consume the interfaces in application code without coupling to a concrete implementation:
void PrintChart(IChartRelationalModel chart)
{
Console.WriteLine($"{chart.Title.StringValue} ({chart.Id.GuidValue})");
}
| 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.Abstractions (>= 4.3.0)
-
net7.0
- Pure.Primitives.Abstractions (>= 4.3.0)
-
net8.0
- Pure.Primitives.Abstractions (>= 4.3.0)
-
net9.0
- Pure.Primitives.Abstractions (>= 4.3.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Pure.Chart.RelationalModel.Abstractions:
| Package | Downloads |
|---|---|
|
Pure.Chart.RichRelationalModel.Abstractions
Package Description |
|
|
Pure.Chart.RelationalModel
Package Description |
|
|
Pure.Chart.RelationalModel.HashCodes
Package Description |
|
|
Pure.Chart.RelationalModel.Abstractions.Serialization.System
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-preview.7.0.0 | 247 | 10/23/2026 |
| 0.1.0-preview.6.0.0 | 3,092 | 4/26/2026 |
| 0.1.0-preview.5.0.0 | 350 | 4/19/2026 |
| 0.1.0-preview.4.1.0 | 764 | 2/27/2026 |
| 0.1.0-preview.4.0.0 | 310 | 2/16/2026 |
| 0.1.0-preview.3.0.0 | 173 | 2/14/2026 |
| 0.1.0-preview.2.0.0 | 167 | 2/12/2026 |
| 0.1.0-preview.1.0.0 | 93 | 2/12/2026 |
| 0.1.0-preview.0.1.0 | 107 | 2/11/2026 |