Pure.Chart.RichRelationalModel.Abstractions
0.1.0-preview.5.0.0
dotnet add package Pure.Chart.RichRelationalModel.Abstractions --version 0.1.0-preview.5.0.0
NuGet\Install-Package Pure.Chart.RichRelationalModel.Abstractions -Version 0.1.0-preview.5.0.0
<PackageReference Include="Pure.Chart.RichRelationalModel.Abstractions" Version="0.1.0-preview.5.0.0" />
<PackageVersion Include="Pure.Chart.RichRelationalModel.Abstractions" Version="0.1.0-preview.5.0.0" />
<PackageReference Include="Pure.Chart.RichRelationalModel.Abstractions" />
paket add Pure.Chart.RichRelationalModel.Abstractions --version 0.1.0-preview.5.0.0
#r "nuget: Pure.Chart.RichRelationalModel.Abstractions, 0.1.0-preview.5.0.0"
#:package Pure.Chart.RichRelationalModel.Abstractions@0.1.0-preview.5.0.0
#addin nuget:?package=Pure.Chart.RichRelationalModel.Abstractions&version=0.1.0-preview.5.0.0&prerelease
#tool nuget:?package=Pure.Chart.RichRelationalModel.Abstractions&version=0.1.0-preview.5.0.0&prerelease
Pure.Chart.RichRelationalModel.Abstractions
Combined chart domain-model and relational-model interfaces for the Pure ecosystem.
Overview
Pure.Chart.RichRelationalModel.Abstractions defines four interfaces that each merge a chart
domain-model interface (navigation properties, human-readable semantics) with its relational-model
counterpart (identity via IGuid, foreign-key columns). The result is a rich view suitable for
EF Core entity types or any persistence layer that needs both navigation and flat relational
identity on the same object.
Interfaces
| Interface | Extends | Description |
|---|---|---|
IChartRichRelationalModel |
IChart, IChartRelationalModel |
Chart entity with title, description, type navigation, axis navigations, series collection, plus Id, TypeId, XAxisId, YAxisId FK columns |
IAxisRichRelationalModel |
IAxis, IAxisRelationalModel |
Axis entity with Legend property plus Id |
IChartSeriesRichRelationalModel |
IChartSeries, IChartSeriesRelationalModel |
Chart series entity with legend, axis-source and line-type properties, plus Id and ChartId FK |
IChartTypeRichRelationalModel |
IChartType, IChartTypeRelationalModel |
Chart-type entity with Name property plus Id |
All interfaces live in the Pure.Chart.RichRelationalModel.Abstractions namespace.
Design Principles
- Composition over duplication — each interface inherits the full contract of both its domain-model and relational-model parents; no properties are redefined.
- Immutable by contract — all inherited properties are read-only (
get-only), enforced by the parent interfaces fromPure.Chart.Model.AbstractionsandPure.Chart.RelationalModel.Abstractions. - AOT-compatible — no reflection or dynamic dispatch; safe for Native AOT publishing.
Dependencies
Pure.Chart.Model.Abstractions— chart domain-model interfaces (IChart,IAxis,IChartSeries,IChartType) with semantic navigation propertiesPure.Chart.RelationalModel.Abstractions— relational-model interfaces that addIGuididentity and foreign-key columns to each chart entity
Target Frameworks
- .NET 7
- .NET 8
- .NET 9
- .NET 10
Installation
dotnet add package Pure.Chart.RichRelationalModel.Abstractions
Usage
using Pure.Chart.RichRelationalModel.Abstractions;
// Implement on an EF Core entity to satisfy both domain and persistence contracts.
public class ChartEntity : IChartRichRelationalModel
{
public IGuid Id { get; init; } = default!;
public IGuid TypeId { get; init; } = default!;
public IGuid XAxisId { get; init; } = default!;
public IGuid YAxisId { get; init; } = default!;
public IString Title { get; init; } = default!;
public IString Description { get; init; } = default!;
public IChartType Type { get; init; } = default!;
public IAxis XAxis { get; init; } = default!;
public IAxis YAxis { get; init; } = default!;
public IEnumerable<IChartSeries> Series { get; init; } = [];
}
| 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.Chart.Model.Abstractions (>= 0.1.0-preview.2.0.0)
- Pure.Chart.RelationalModel.Abstractions (>= 0.1.0-preview.7.0.0)
-
net7.0
- Pure.Chart.Model.Abstractions (>= 0.1.0-preview.2.0.0)
- Pure.Chart.RelationalModel.Abstractions (>= 0.1.0-preview.7.0.0)
-
net8.0
- Pure.Chart.Model.Abstractions (>= 0.1.0-preview.2.0.0)
- Pure.Chart.RelationalModel.Abstractions (>= 0.1.0-preview.7.0.0)
-
net9.0
- Pure.Chart.Model.Abstractions (>= 0.1.0-preview.2.0.0)
- Pure.Chart.RelationalModel.Abstractions (>= 0.1.0-preview.7.0.0)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Pure.Chart.RichRelationalModel.Abstractions:
| Package | Downloads |
|---|---|
|
Pure.Chart.RichRelationalModel.EFCore.Models
Package Description |
|
|
Pure.Chart.RichRelationalModel
Package Description |
|
|
Pure.Chart.RichRelationalModel.HashCodes
Package Description |
|
|
Pure.Chart.RichRelationalModel.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.5.0.0 | 184 | 10/23/2026 |
| 0.1.0-preview.4.0.0 | 2,267 | 4/26/2026 |
| 0.1.0-preview.3.0.0 | 281 | 4/19/2026 |
| 0.1.0-preview.2.1.0 | 618 | 2/27/2026 |
| 0.1.0-preview.2.0.0 | 272 | 2/16/2026 |
| 0.1.0-preview.1.0.0 | 187 | 2/14/2026 |
| 0.1.0-preview.0.2.0 | 113 | 2/12/2026 |
| 0.1.0-preview.0.1.0 | 99 | 2/12/2026 |