DavidStudio.Core.Essentials 1.0.0-develop.9

This is a prerelease version of DavidStudio.Core.Essentials.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package DavidStudio.Core.Essentials --version 1.0.0-develop.9
                    
NuGet\Install-Package DavidStudio.Core.Essentials -Version 1.0.0-develop.9
                    
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="DavidStudio.Core.Essentials" Version="1.0.0-develop.9" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DavidStudio.Core.Essentials" Version="1.0.0-develop.9" />
                    
Directory.Packages.props
<PackageReference Include="DavidStudio.Core.Essentials" />
                    
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 DavidStudio.Core.Essentials --version 1.0.0-develop.9
                    
#r "nuget: DavidStudio.Core.Essentials, 1.0.0-develop.9"
                    
#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 DavidStudio.Core.Essentials@1.0.0-develop.9
                    
#: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=DavidStudio.Core.Essentials&version=1.0.0-develop.9&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=DavidStudio.Core.Essentials&version=1.0.0-develop.9&prerelease
                    
Install as a Cake Tool

DavidStudio.Core.Essentials

A productivity library that accelerates .NET project scaffolding by providing ready-to-use features for common application needs. Includes data I/O helpers and abstractions, authentication utilities, OpenAPI/Swagger integration features, standardized result/response types, pagination helpers, and general-purpose utilities.

⚠️ Alpha Release: This package is currently in alpha. Development is ongoing, and contributions are welcome!


🚀 Getting Started

Install NuGet Package

Using the .NET CLI:

dotnet add package DavidStudio.Core.Essentials

Or via the Package Manager Console:

Install-Package DavidStudio.Core.Essentials

How to use it?

Feel free to explore the samples to find practical examples for each feature. New samples are added continuously as more features are developed.

📦 Key Features

  • DataIO - A comprehensive toolkit that streamlines data operations with Entity Framework Core, ADO.NET, and providers for Elasticsearch, RabbitMQ, Azure ServiceBus, Redis, and RedLock. Includes multiple design patterns and abstractions that reduce boilerplate and simplify your daily development workflow.

  • Auth - Essential Authentication and Authorization utilities for ASP.NET Core, featuring powerful permission-based authorization for JWT, seamless Bearer token support, Swagger authentication configuration, convenient claim helpers, and user-session tools.

  • Swagger - Plug-and-play extensions for adding Swagger with sensible defaults. Includes built-in support for StronglyTypedIds, Bearer authentication, API versioning, and controller ordering.

  • Results - Clean, standardized result and response models for APIs and services. Helps enforce consistent response patterns and reduce repetitive code.

  • Pagination - Robust cursor-based and offset-based pagination models and utilities designed for high-performance, scalable APIs.

  • Utilities - A growing collection of handy helpers and extensions to speed up everyday .NET development.

🚀 What I'm Most Proud Of

One of the standout features of DavidStudio.Core.Essentials is its high-performance dynamic ordering query builder from string for LINQ and Entity Framework Core. It delivers over 2× faster execution and cuts memory allocations in half compared to System.Linq.Dynamic.Core, making it ideal for high-load APIs and advanced pagination scenarios.

BenchmarkDotNet v0.15.6, macOS 26.1 (25B78) [Darwin 25.1.0]
Apple M4 Max, 1 CPU, 16 logical and 16 physical cores
.NET SDK 10.0.100
  [Host]     : .NET 10.0.0 (10.0.0, 10.0.25.52411), Arm64 RyuJIT armv8.0-a
  DefaultJob : .NET 10.0.0 (10.0.0, 10.0.25.52411), Arm64 RyuJIT armv8.0-a
Method Mean Error StdDev Rank Gen0 Gen1 Allocated
Essentials_DynamicOrdering_CursorPagination 5.193 μs 0.0522 μs 0.0463 μs 2 1.3428 - 10.99 KB
Essentials_DynamicOrdering_OffsetPagination 9.278 μs 0.0665 μs 0.0589 μs 4 2.1973 - 18.29 KB
LINQ_DynamicOrdering_CursorPagination 9.847 μs 0.0692 μs 0.0613 μs 5 3.1738 0.0610 26.06 KB
LINQ_DynamicOrdering_OffsetPagination 13.725 μs 0.0969 μs 0.0906 μs 6 3.9063 - 32.73 KB

🤝 Contributing

Found a bug? Have an idea? Want to contribute?

Contributions of any size are appreciated!

📝 License

Distributed under the MIT license. See License for more information.

Copyright © 2025 David Khachatryan (David Studio)

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-develop.15 30 1/10/2026
1.0.0-develop.14 31 1/10/2026
1.0.0-develop.13 31 1/10/2026
1.0.0-develop.12 34 1/10/2026
1.0.0-develop.11 33 1/9/2026
1.0.0-develop.10 32 1/9/2026
1.0.0-develop.9 33 1/9/2026
1.0.0-develop.8 31 1/9/2026
1.0.0-develop.7 33 1/9/2026
1.0.0-develop.6 37 1/9/2026
1.0.0-develop.5 46 1/3/2026
1.0.0-develop.4 54 12/28/2025