Schemata.Mapping.Foundation 10.0.0-preview.26305.37

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

Schemata

A .NET application framework for building modular, extensible business applications.

GitHub Workflow Status Quality Gate Status Coverage license net8.0 net10.0

Quick Start

dotnet new web
dotnet add package --prerelease Schemata.Application.Complex.Targets
var builder = WebApplication.CreateBuilder(args)
    .UseSchemata(schema => {
        schema.UseLogging();
        schema.UseRouting();
        schema.UseControllers();
    });

var app = builder.Build();
app.Run();

Add more capabilities from the Feature Domains below.

Documentation

  • Guides — step-by-step tutorials building a complete application from scratch
  • Documents — technical reference for framework internals and all subsystems
  • Modeling — SKM language reference for entity code generation

Feature Domains

  • Authorization — OAuth 2.0 / OpenID Connect server
  • Caching — distributed cache abstraction; Redis and IDistributedCache adapters
  • DSL.skm source generator
  • Event — in-process / RabbitMQ event bus
  • Flow — BPMN process engine, HTTP/gRPC transports, event/scheduling bridges
  • Identity — ASP.NET Core Identity integration
  • Mapping — unified object-mapper abstraction (AutoMapper / Mapster)
  • Modular — module discovery and loading
  • Repository — EF Core / LinqToDB providers with advisor pipeline, unit of work, ownership, query caching
  • Resource — Google AIP-compliant CRUD service over HTTP and gRPC
  • Scheduling — persistent cron / periodic / one-time job scheduler
  • Tenancy — multi-tenant resolution and per-tenant DI
  • Validation — FluentValidation integration

Features

Features are modular components that can be integrated at startup.

Features are characterized by Order and Priority, both of which are Int32 values. Order controls the sequence of ConfigureServices calls; Priority controls the sequence of ConfigureApplication and ConfigureEndpoints calls.

The range [100_000_000, 900_000_000] for Order and Priority is reserved for built-in features and Schemata extensions.

Built-in Features

A built-in feature can be activated by calling the UseXXX method on the SchemataBuilder instance. These features may also have additional configuration methods.

Priority Feature Description
100_000_000 ForwardedHeaders ASP.NET Forwarded Headers Middleware
110_000_000 DeveloperExceptionPage ASP.NET Developer Exception Page Middleware
120_000_000 Logging ASP.NET Logging Middleware
130_000_000 HttpLogging ASP.NET HTTP Logging Middleware
140_000_000 W3CLogging ASP.NET W3C Logging Middleware
150_000_000 Https ASP.NET HTTPS & HTTPS Redirection Middlewares
160_000_000 Tenancy Multi-tenant isolation middleware (Order: 900_000_000)
170_000_000 CookiePolicy ASP.NET Cookie Policy Middleware
180_000_000 Routing ASP.NET Routing Middleware
185_000_000 WellKnown /.well-known/* routes (+5M sub-feature of Routing)
190_000_000 Quota ASP.NET Rate Limiter Middleware
200_000_000 Cors ASP.NET CORS Middleware
210_000_000 Authentication ASP.NET Authentication & Authorization Middlewares
220_000_000 Session ASP.NET Session Middleware
230_000_000 Controllers ASP.NET MVC Middlewares, without Views
240_000_000 JsonSerializer Configure System.Text.Json to use snake_case and handle JavaScript's 53-bit integers

Extension Features

An extension feature can be activated in the same way as a built-in feature.

Priority Package Feature Description
400_000_000 Schemata.Security.Foundation Security RBAC/ABAC security policies
410_000_000 Schemata.Transport.Http Transport.Http Shared HTTP plumbing: exception handler, JSON wire-name traits
420_000_000 Schemata.Transport.Grpc Transport.Grpc Shared gRPC plumbing: AddCodeFirstGrpc, interceptor, reflection
430_000_000 Schemata.Identity.Foundation Identity ASP.NET Core Identity integration
440_000_000 Schemata.Event.Foundation Event Pub/sub bus, type registry, publish/consume advisor pipeline
450_000_000 Schemata.Authorization.Foundation Authorization OAuth 2.0 / OpenID Connect server
460_000_000 Schemata.Mapping.Foundation Mapping Unified object mapper abstraction
470_000_000 Schemata.Scheduling.Foundation Scheduling Persistent cron / periodic / one-time job scheduler
470_100_000 Schemata.Scheduling.Event Scheduling.Event Lifecycle event publisher bridging the scheduler to the event bus
480_000_000 Schemata.Flow.Foundation Flow BPMN process engine and state-machine runtime
480_100_000 Schemata.Flow.Http Flow (UseFlowHttp) ProcessController HTTP surface
480_200_000 Schemata.Flow.Grpc Flow (UseFlowGrpc) ProcessService gRPC surface
480_300_000 Schemata.Flow.Event Flow.Event Bridges BPMN message/signal catches to the event bus
480_400_000 Schemata.Flow.Scheduling Flow.Scheduling Bridges BPMN timer catches to the scheduler
490_000_000 Schemata.Resource.Foundation Resource Google AIP-compliant resource service
490_100_000 Schemata.Resource.Http Resource (MapHttp) HTTP/REST endpoint
490_200_000 Schemata.Resource.Grpc Resource (MapGrpc) gRPC endpoint
520_000_000 Schemata.Modular Modular Module discovery and loading

Compliance

Schemata targets the latest .NET Long-Term Support (LTS) version and the most recent .NET release. All runtime packages target net8.0;net10.0. Source generators target netstandard2.0 so Roslyn can load them.

Package Compliance
Schemata.Advice.Generator netstandard2.0
Schemata.Modeling.Generator netstandard2.0
All other packages net8.0 net10.0

Schemata.Authorization.Foundation

Schemata Authorization Foundation complies with the OpenID Connect Core 1.0 specification.

Schemata.Identity.Foundation

Schemata Identity Foundation is compatible with ASP.NET Core Identity.

Schemata.Mapping.Foundation

The Schemata Mapping Foundation is compatible with various mapping libraries, including AutoMapper and Mapster, among others.

It provides a unified interface for these libraries, enabling developers to switch between them without modifying application code.

Schemata.Resource.Foundation

The Schemata Resource Foundation complies with the API Improvement Proposals - General AIPs proposals.

Schemata.Flow.Foundation

The default StateMachineEngine in Schemata.Flow.StateMachine runs a subset of BPMN 2.0.2: one start event, at least one end event, plain activities (no SubProcess / CallActivity / loop characteristics), ExclusiveGateway, EventBasedGateway (exclusive mode only), interrupting boundary events, and intermediate catch events reachable from an EventBasedGateway. The full BPMN AST in Schemata.Flow.Skeleton covers more (parallel / inclusive / complex gateways, subprocesses, multi-instance loops) and is intended for alternate engines plugged in via a keyed IFlowRuntime.

Intermediate catch events bridge to runtime infrastructure: Schemata.Flow.Event correlates Message and Signal catches with the event bus, and Schemata.Flow.Scheduling fires Timer catches through the scheduler.

The process graph is built with a strongly-typed C# DSL in Schemata.Flow.Skeleton.Builders (ProcessBuilder, ActivityBehavior, BoundaryCatch, EventBranch, FlowBranch, InclusiveBranch, InclusiveMerge, ParallelFork, ParallelJoin, StartFlow).

Product Compatible and additional computed target framework versions.
.NET 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 was computed.  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 (3)

Showing the top 3 NuGet packages that depend on Schemata.Mapping.Foundation:

Package Downloads
Schemata.Workflow.Foundation

Schemata Application Framework - Workflow Foundation

Schemata.Mapping.Mapster

Schemata Application Framework - Mapper (using Mapster)

Schemata.Mapping.AutoMapper

Schemata Application Framework - Mapper (using AutoMapper)

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.0-preview.26305.37 0 6/5/2026
10.0.0-preview.26305.35 0 6/5/2026
10.0.0-preview.26304.21 35 6/4/2026
10.0.0-preview.26301.51 69 6/1/2026
10.0.0-preview.26264.43 66 5/14/2026
10.0.0-preview.26263.11 66 5/13/2026
10.0.0-preview.26262.64 64 5/12/2026
10.0.0-preview.26259.24 73 5/9/2026
10.0.0-preview.26259.20 69 5/9/2026
10.0.0-preview.26253.58 80 5/3/2026
10.0.0-preview.26253.39 63 5/3/2026
10.0.0-preview.26253.37 61 5/3/2026
10.0.0-preview.26251.71 68 5/1/2026
10.0.0-preview.26177.58 74 3/27/2026
10.0.0-preview.26177.40 68 3/27/2026
10.0.0-preview.26177.31 70 3/27/2026
10.0.0-preview.26175.94 66 3/25/2026
10.0.0-preview.26175.59 66 3/25/2026
10.0.0-preview.26174.30 65 3/24/2026
10.0.0-preview.26174.28 68 3/24/2026
Loading failed