fgilde/Nextended

A suite of .NET libraries: extension methods, custom types, caching, EF Core, ASP.NET Core response filtering, source generation and .NET Aspire hosting integrations.

C#

15

454 commits

updated Oct 2, 2026

See the code

README

Nextended

Nextended

NuGet License Documentation

A suite of 19 .NET libraries: extension methods, custom types, caching, EF Core, ASP.NET Core response filtering, source generation and .NET Aspire hosting integrations.

πŸ“– Documentation (English) Β· πŸ“– Dokumentation (Deutsch)

Note This suite was previously published as nExt. It was renamed to Nextended and now targets .NET 8, 9 and 10. See the migration guide.

Documentation

Packages

Core libraries

PackageDescriptionNuGetDocs
Nextended.CoreFoundation library β€” extension methods, custom types (Money, Date, BaseId, SuperType), class mapping, deep clone, encryption, hashing and the code-generation attributes.NuGetDocs
Nextended.CacheExpression-based caching β€” automatic cache keys from method expressions, CacheProvider with condition-based invalidation, thread-safe AddOrGetExisting.NuGetDocs

Data access

PackageDescriptionNuGetDocs
Nextended.EFEntity Framework Core extensions β€” graph loading (LoadGraphAsync, IncludeAll, MultiInclude), declarative include definitions, paging, dynamic sorting and bulk operations.NuGetDocs

ASP.NET Core & web

PackageDescriptionNuGetDocs
Nextended.WebASP.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.NuGetDocs
Nextended.ResponseFiltersFluent, provider-agnostic pipeline that redacts, masks, rounds, truncates, hashes, prunes and restructures response DTOs before serialization β€” per request, per user, per permission.NuGetDocs
Nextended.ResponseFilters.AspNetCoreASP.NET Core adapter for Nextended.ResponseFilters β€” registers the pipeline as a global IAsyncResultFilter and replays structural edits against the serialized JSON tree.NuGetDocs

UI libraries

PackageDescriptionNuGetDocs
Nextended.BlazorBlazor 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.NuGetDocs
Nextended.UIWPF 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.NuGetDocs

Code generation & tooling

PackageDescriptionNuGetDocs
Nextended.ImagingImage processing β€” aspect-preserving resize, crop, colour replacement, brightness-based foreground picking, thumbnail generation, byte/data-URL conversion and MIME detection from magic bytes.NuGetDocs
Nextended.CodeGenRoslyn source generator β€” DTOs and interfaces from your entities, strongly typed classes from JSON/XML, lookup tables from Excel, and documentation from source files.NuGetDocs Β· Sample

.NET Aspire hosting

PackageDescriptionNuGetDocs
Nextended.AspireConditional 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.NuGetDocs
Nextended.Aspire.Hosting.SupabaseThe complete Supabase stack β€” Postgres, Auth (GoTrue), REST, Realtime, Storage, Studio, Kong and Edge Functions β€” as one composable Aspire resource.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.N8nThe n8n workflow-automation platform as an Aspire resource, with Postgres persistence, workflow import and a typed client for triggering workflows from .NET.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.GrafanaGrafana, Prometheus, Loki, Tempo, Promtail, cAdvisor, postgres_exporter and the OpenTelemetry Collector as composable resources with auto-provisioned datasources.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.WebDataStudioWebDataStudio β€” 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.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.AspireUIAspireUI β€” 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.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.LocalAISelf-hosted, OpenAI-compatible multimodal AI β€” image generation, text-to-speech, speech-to-text and video β€” with gallery model management, GPU support and Open WebUI.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.PhpRun 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.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.DbToolsDatabase 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.NuGetDocs Β· Sample

Quick start

dotnet add package Nextended.Core
using Nextended.Core.Extensions;
using Nextended.Core.Types;
using Nextended.Core.DeepClone;

// Object mapping β€” no profiles, no configuration
var dto = user.MapTo<UserDto>();
var dtos = users.MapElementsTo<UserDto>();

// Deep clone with reference preservation
var copy = order.CloneDeep();

// Types that carry their meaning
var price = new Money(99.99m, Currency.USD);
var due   = Date.Today.AddDays(30);      // a date, without a time component

// Extension methods
"hello world".ToPascalCase();   // "HelloWorld"
"hello world".ToCamel();        // "helloWorld"
DateTime.Today.AddWeekDays(5);  // skips weekends

Runnable samples

Every Aspire integration and the source generator ship with a sample project you can start:

SampleShows
Supabase.AppHostThe full Supabase stack as one Aspire resource
AiStack.AppHostLocalAI and n8n together β€” self-hosted multimodal AI driven by workflows
N8n.AppHostn8n with Postgres persistence and workflow import
Grafana.AppHostGrafana, Prometheus, Loki, Tempo with auto-provisioned datasources
WebDataStudio.AppHostOne browser database studio across several databases
AspireUI.AppHostThe visual AppHost builder as a resource
Php.AppHostPHP + MySQL + phpMyAdmin + Mailpit next to a .NET web form
CodeGenSampleDTO, JSON, Excel and documentation generation, with the generated output checked in

Repository layout

Nextended.sln
β”œβ”€ Nextended.Core/               foundation: extensions, types, mapping, facets
β”œβ”€ Nextended.Cache/              expression-based caching
β”œβ”€ Nextended.EF/                 EF Core query and graph extensions
β”œβ”€ Nextended.Web/                ASP.NET Core + OData
β”œβ”€ Nextended.ResponseFilters/            response shaping pipeline (provider-agnostic)
β”œβ”€ Nextended.ResponseFilters.AspNetCore/ MVC adapter for the above
β”œβ”€ Nextended.Blazor/             Blazor helpers
β”œβ”€ Nextended.UI/                 WPF / Windows desktop
β”œβ”€ Nextended.Imaging/            image processing (Windows)
β”œβ”€ Nextended.CodeGen/            Roslyn source generator
β”œβ”€ Nextended.Aspire*/            .NET Aspire hosting integrations
β”œβ”€ Tests/                        unit tests and the runnable sample projects
β”œβ”€ docs/                         documentation site (English), docs/de (German)
β”‚  └─ data/packages.json        single source of truth for every package listing
└─ tools/Update-PackageDocs.ps1  regenerates the listings, README blocks and the docs icon

Contributing

Pull requests are welcome.

Package listings, README headers/footers and the documentation-site icon are generated. Edit docs/data/packages.json β€” never the generated blocks β€” and then run:

pwsh tools/Update-PackageDocs.ps1

To verify in CI that nothing has drifted:

pwsh tools/Update-PackageDocs.ps1 -Check

The icon is a single file, icon.png, at the repository root. Replace it and re-run the generator: every NuGet package, every README and the documentation site pick up the new one.

License

MIT β€” see LICENSE.

fgilde/Nextended

A suite of .NET libraries: extension methods, custom types, caching, EF Core, ASP.NET Core response filtering, source generation and .NET Aspire hosting integrations.

C#

15

454 commits

updated Oct 2, 2026

See the code

README

Nextended

Nextended

NuGet License Documentation

A suite of 19 .NET libraries: extension methods, custom types, caching, EF Core, ASP.NET Core response filtering, source generation and .NET Aspire hosting integrations.

πŸ“– Documentation (English) Β· πŸ“– Dokumentation (Deutsch)

Note This suite was previously published as nExt. It was renamed to Nextended and now targets .NET 8, 9 and 10. See the migration guide.

Documentation

Packages

Core libraries

PackageDescriptionNuGetDocs
Nextended.CoreFoundation library β€” extension methods, custom types (Money, Date, BaseId, SuperType), class mapping, deep clone, encryption, hashing and the code-generation attributes.NuGetDocs
Nextended.CacheExpression-based caching β€” automatic cache keys from method expressions, CacheProvider with condition-based invalidation, thread-safe AddOrGetExisting.NuGetDocs

Data access

PackageDescriptionNuGetDocs
Nextended.EFEntity Framework Core extensions β€” graph loading (LoadGraphAsync, IncludeAll, MultiInclude), declarative include definitions, paging, dynamic sorting and bulk operations.NuGetDocs

ASP.NET Core & web

PackageDescriptionNuGetDocs
Nextended.WebASP.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.NuGetDocs
Nextended.ResponseFiltersFluent, provider-agnostic pipeline that redacts, masks, rounds, truncates, hashes, prunes and restructures response DTOs before serialization β€” per request, per user, per permission.NuGetDocs
Nextended.ResponseFilters.AspNetCoreASP.NET Core adapter for Nextended.ResponseFilters β€” registers the pipeline as a global IAsyncResultFilter and replays structural edits against the serialized JSON tree.NuGetDocs

UI libraries

PackageDescriptionNuGetDocs
Nextended.BlazorBlazor 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.NuGetDocs
Nextended.UIWPF 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.NuGetDocs

Code generation & tooling

PackageDescriptionNuGetDocs
Nextended.ImagingImage processing β€” aspect-preserving resize, crop, colour replacement, brightness-based foreground picking, thumbnail generation, byte/data-URL conversion and MIME detection from magic bytes.NuGetDocs
Nextended.CodeGenRoslyn source generator β€” DTOs and interfaces from your entities, strongly typed classes from JSON/XML, lookup tables from Excel, and documentation from source files.NuGetDocs Β· Sample

.NET Aspire hosting

PackageDescriptionNuGetDocs
Nextended.AspireConditional 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.NuGetDocs
Nextended.Aspire.Hosting.SupabaseThe complete Supabase stack β€” Postgres, Auth (GoTrue), REST, Realtime, Storage, Studio, Kong and Edge Functions β€” as one composable Aspire resource.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.N8nThe n8n workflow-automation platform as an Aspire resource, with Postgres persistence, workflow import and a typed client for triggering workflows from .NET.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.GrafanaGrafana, Prometheus, Loki, Tempo, Promtail, cAdvisor, postgres_exporter and the OpenTelemetry Collector as composable resources with auto-provisioned datasources.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.WebDataStudioWebDataStudio β€” 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.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.AspireUIAspireUI β€” 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.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.LocalAISelf-hosted, OpenAI-compatible multimodal AI β€” image generation, text-to-speech, speech-to-text and video β€” with gallery model management, GPU support and Open WebUI.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.PhpRun 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.NuGetDocs Β· Sample
Nextended.Aspire.Hosting.DbToolsDatabase 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.NuGetDocs Β· Sample

Quick start

dotnet add package Nextended.Core
using Nextended.Core.Extensions;
using Nextended.Core.Types;
using Nextended.Core.DeepClone;

// Object mapping β€” no profiles, no configuration
var dto = user.MapTo<UserDto>();
var dtos = users.MapElementsTo<UserDto>();

// Deep clone with reference preservation
var copy = order.CloneDeep();

// Types that carry their meaning
var price = new Money(99.99m, Currency.USD);
var due   = Date.Today.AddDays(30);      // a date, without a time component

// Extension methods
"hello world".ToPascalCase();   // "HelloWorld"
"hello world".ToCamel();        // "helloWorld"
DateTime.Today.AddWeekDays(5);  // skips weekends

Runnable samples

Every Aspire integration and the source generator ship with a sample project you can start:

SampleShows
Supabase.AppHostThe full Supabase stack as one Aspire resource
AiStack.AppHostLocalAI and n8n together β€” self-hosted multimodal AI driven by workflows
N8n.AppHostn8n with Postgres persistence and workflow import
Grafana.AppHostGrafana, Prometheus, Loki, Tempo with auto-provisioned datasources
WebDataStudio.AppHostOne browser database studio across several databases
AspireUI.AppHostThe visual AppHost builder as a resource
Php.AppHostPHP + MySQL + phpMyAdmin + Mailpit next to a .NET web form
CodeGenSampleDTO, JSON, Excel and documentation generation, with the generated output checked in

Repository layout

Nextended.sln
β”œβ”€ Nextended.Core/               foundation: extensions, types, mapping, facets
β”œβ”€ Nextended.Cache/              expression-based caching
β”œβ”€ Nextended.EF/                 EF Core query and graph extensions
β”œβ”€ Nextended.Web/                ASP.NET Core + OData
β”œβ”€ Nextended.ResponseFilters/            response shaping pipeline (provider-agnostic)
β”œβ”€ Nextended.ResponseFilters.AspNetCore/ MVC adapter for the above
β”œβ”€ Nextended.Blazor/             Blazor helpers
β”œβ”€ Nextended.UI/                 WPF / Windows desktop
β”œβ”€ Nextended.Imaging/            image processing (Windows)
β”œβ”€ Nextended.CodeGen/            Roslyn source generator
β”œβ”€ Nextended.Aspire*/            .NET Aspire hosting integrations
β”œβ”€ Tests/                        unit tests and the runnable sample projects
β”œβ”€ docs/                         documentation site (English), docs/de (German)
β”‚  └─ data/packages.json        single source of truth for every package listing
└─ tools/Update-PackageDocs.ps1  regenerates the listings, README blocks and the docs icon

Contributing

Pull requests are welcome.

Package listings, README headers/footers and the documentation-site icon are generated. Edit docs/data/packages.json β€” never the generated blocks β€” and then run:

pwsh tools/Update-PackageDocs.ps1

To verify in CI that nothing has drifted:

pwsh tools/Update-PackageDocs.ps1 -Check

The icon is a single file, icon.png, at the repository root. Replace it and re-run the generator: every NuGet package, every README and the documentation site pick up the new one.

License

MIT β€” see LICENSE.

Languages

C#

97.4%

PowerShell

1.3%