Map objects without a mapper
Convention-based mapping needs no profile registration. Explicit assignments, ignored members and type converters compose on a settings object when the conventions are not enough.
Class mapping
Extension methods and custom types, expression-based caching, EF Core graph loading, permission-aware response shaping, a Roslyn source generator and eight .NET Aspire hosting integrations. Independent packages on one small foundation.
Generated from one file
This listing, the sidebar and the tables in every README all come from docs/data/packages.json. Adding a package there updates every one of them, so they cannot drift apart.
| Package | Description | Sample |
|---|---|---|
| Nextended.Core | Foundation library — extension methods, custom types (Money, Date, BaseId, SuperType), class mapping, deep clone, encryption, hashing and the code-generation attributes. | — |
| Nextended.Cache | Expression-based caching — automatic cache keys from method expressions, CacheProvider with condition-based invalidation, thread-safe AddOrGetExisting. | — |
| Package | Description | Sample |
|---|---|---|
| Nextended.EF | Entity Framework Core extensions — graph loading (LoadGraphAsync, IncludeAll, MultiInclude), declarative include definitions, paging, dynamic sorting and bulk operations. | — |
| Package | Description | Sample |
|---|---|---|
| Nextended.Web | ASP.NET Core utilities — zero-config OData (AddODataAuto), composable IQueryable OData appliers, strongly typed controller URLs, streaming download helpers and a background executor that can replay a captured request. | — |
| Nextended.ResponseFilters | Fluent, provider-agnostic pipeline that redacts, masks, rounds, truncates, hashes, prunes and restructures response DTOs before serialization — per request, per user, per permission. | — |
| Nextended.ResponseFilters.AspNetCore | ASP.NET Core adapter for Nextended.ResponseFilters — registers the pipeline as a global IAsyncResultFilter and replays structural edits against the serialized JSON tree. | — |
| Package | Description | Sample |
|---|---|---|
| Nextended.Blazor | Blazor helpers — IBrowserFile extensions (bytes, data URLs, downloads), a hierarchical model for browsing inside uploaded zip/tar/rar archives, MIME-type detection and component-parameter reflection. | — |
| Nextended.UI | WPF and Windows desktop helpers — a global input-binding manager with hold/sequence matching, DirectInput and XInput gamepad readers, key-bind capture controls, converters, behaviours, markup extensions and runtime-defined PropertyGrid types. | — |
| Package | Description | Sample |
|---|---|---|
| Nextended.Imaging | Image processing — aspect-preserving resize, crop, colour replacement, brightness-based foreground picking, thumbnail generation, byte/data-URL conversion and MIME detection from magic bytes. | — |
| Nextended.CodeGen | Roslyn source generator — DTOs and interfaces from your entities, strongly typed classes from JSON/XML, lookup tables from Excel, and documentation from source files. | CodeGenSample |
| Package | Description | Sample |
|---|---|---|
| Nextended.Aspire | Conditional AppHost builder extensions — WithReferenceIf / WaitForIf / WithExplicitStartIf, strongly typed environment variables from config objects, HTTPS dev-cert wiring, Docker guards, GitHub-source resources and npm app discovery. | — |
| Nextended.Aspire.Hosting.Supabase | The complete Supabase stack — Postgres, Auth (GoTrue), REST, Realtime, Storage, Studio, Kong and Edge Functions — as one composable Aspire resource. | Supabase.AppHost |
| Nextended.Aspire.Hosting.N8n | The n8n workflow-automation platform as an Aspire resource, with Postgres persistence, workflow import and a typed client for triggering workflows from .NET. | N8n.AppHost |
| Nextended.Aspire.Hosting.Grafana | Grafana, Prometheus, Loki, Tempo, Promtail, cAdvisor, postgres_exporter and the OpenTelemetry Collector as composable resources with auto-provisioned datasources. | Grafana.AppHost |
| Nextended.Aspire.Hosting.WebDataStudio | WebDataStudio — a browser database studio for PostgreSQL, MySQL, SQL Server, SQLite, Oracle, DuckDB, ClickHouse, MongoDB and Redis — wired to the databases of your stack, with accounts and roles, an optional SQL assistant, and an MCP endpoint for AI agents. | WebDataStudio.AppHost |
| Nextended.Aspire.Hosting.AspireUI | AspireUI — the visual AppHost builder — as a resource inside your own Aspire stack, with an optional pre-seeded admin user and a starter stack built from your project paths. | AspireUI.AppHost |
| Nextended.Aspire.Hosting.LocalAI | Self-hosted, OpenAI-compatible multimodal AI — image generation, text-to-speech, speech-to-text and video — with gallery model management, GPU support and Open WebUI. | AiStack.AppHost |
| Nextended.Aspire.Hosting.Php | Run PHP endpoints inside your Aspire stack — a docroot folder or a single router script served by PHP's built-in web server, with php.ini settings as fluent options. | Php.AppHost |
| Nextended.Aspire.Hosting.DbTools | Database tools for an Aspire app host. The first: fill a database resource from a database that already exists — schema and data — from another resource in the stack or from a server it does not model. PostgreSQL, SQL Server, MySQL/MariaDB, MongoDB and Redis, each through its own engine's dump and restore tools. | DbTools.AppHost |
The package overview adds target frameworks, platforms, dependencies and the dependency graph.
dotnet add package Nextended.Coreusing Nextended.Core.Extensions;
using Nextended.Core.Types;
using Nextended.Core.DeepClone;
// Object mapping — no profiles, no configuration
var userDto = user.MapTo<UserDto>();
var userDtos = users.MapElementsTo<UserDto>();
// Deep clone, references preserved
var copy = order.CloneDeep();
// Types that carry their meaning
var price = new Money(99.99m, Currency.USD);
var due = Date.Today.AddDays(30);
// Extension methods
"hello world".ToPascalCase(); // "HelloWorld"
"hello world".ToCamel(); // "helloWorld"
"MyClassName".SplitByUpperCase(); // "My Class Name"
DateTime.Today.AddWeekDays(5); // skips weekendsEvery Aspire integration and the source generator ship with a project you can start:
CodeGenSample — Nextended.CodeGenSupabase.AppHost — Nextended.Aspire.Hosting.SupabaseN8n.AppHost — Nextended.Aspire.Hosting.N8nGrafana.AppHost — Nextended.Aspire.Hosting.GrafanaWebDataStudio.AppHost — Nextended.Aspire.Hosting.WebDataStudioAspireUI.AppHost — Nextended.Aspire.Hosting.AspireUIAiStack.AppHost — Nextended.Aspire.Hosting.LocalAIPhp.AppHost — Nextended.Aspire.Hosting.PhpDbTools.AppHost — Nextended.Aspire.Hosting.DbToolsThis suite was previously published as nExt. Namespaces moved from nExt.* to Nextended.*; the API is otherwise source-compatible. See the migration guide. The legacy nExt.Core package is no longer maintained.