DKNet.AspCore.Idempotency.Relational 13.3.1

dotnet add package DKNet.AspCore.Idempotency.Relational --version 13.3.1
                    
NuGet\Install-Package DKNet.AspCore.Idempotency.Relational -Version 13.3.1
                    
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="DKNet.AspCore.Idempotency.Relational" Version="13.3.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DKNet.AspCore.Idempotency.Relational" Version="13.3.1" />
                    
Directory.Packages.props
<PackageReference Include="DKNet.AspCore.Idempotency.Relational" />
                    
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 DKNet.AspCore.Idempotency.Relational --version 13.3.1
                    
#r "nuget: DKNet.AspCore.Idempotency.Relational, 13.3.1"
                    
#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 DKNet.AspCore.Idempotency.Relational@13.3.1
                    
#: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=DKNet.AspCore.Idempotency.Relational&version=13.3.1
                    
Install as a Cake Addin
#tool nuget:?package=DKNet.AspCore.Idempotency.Relational&version=13.3.1
                    
Install as a Cake Tool

DKNet.AspCore.Idempotency.Relational

Internal EF Core storage machinery shared by the SQL Server and PostgreSQL idempotency providers.

✨ Why use it?

  • Understand why SQL retries reserve through a unique index before handlers run.
  • Inspect the shared row shape and expiry behavior used by both providers.
  • Find which setup and migrations belong to the concrete provider.

🚀 Quick Start

This package is a transitive dependency of the SQL providers. Every type is internal; it exposes no application registration method. Install a provider to exercise it:

dotnet new web -f net10.0 -n PackageDemo
cd PackageDemo
dotnet add package DKNet.AspCore.Idempotency.Relational
dotnet add package DKNet.AspCore.Idempotency.NpgsqlStore

Set ConnectionStrings__Idempotency to a PostgreSQL connection string for a database the app can migrate. Then use this Program.cs and run dotnet run:

using DKNet.AspCore.Idempotency;
using DKNet.AspCore.Idempotency.NpgsqlStore;
var builder = WebApplication.CreateBuilder(args);
var connection = builder.Configuration.GetConnectionString("Idempotency")
    ?? throw new InvalidOperationException("Set ConnectionStrings__Idempotency.");
builder.Services.AddIdempotencyWithNpgsqlStore(connection);
var app = builder.Build();
app.MapPost("/orders", () => Results.Ok()).RequiredIdempotentKey();
await app.RunAsync();

POST twice with X-Idempotency-Key: order-1: the first returns 200 and the retry 409. The provider applies its migrations on host start.

Documentation

Guide Read when
Package overview Start with architecture and the end-to-end flow.
Reserve and complete relational keys Trace unique-index insertion, collision handling, and expired-row reclaim.
Understand schema and migrations Inspect shared columns, provider mappings, and migration ownership.
Product Compatible and additional computed target framework versions.
.NET 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 (2)

Showing the top 2 NuGet packages that depend on DKNet.AspCore.Idempotency.Relational:

Package Downloads
DKNet.AspCore.Idempotency.MsSqlStore

DKNet is an enterprise-grade .NET library collection focused on advanced EF Core extensions, dynamic predicate building, and the Specification pattern. It provides production-ready tools for building robust, type-safe, and testable data access layers, including dynamic LINQ support, LinqKit integration. Designed for modern cloud-native applications, DKNet enforces strict code quality, async best practices, and full documentation for all public APIs. Enterprise-grade .NET library suite for modern application development, featuring advanced EF Core extensions (dynamic predicates, specifications, LinqKit), robust Domain-Driven Design (DDD) patterns, and domain event support. DKNet empowers scalable, maintainable, and testable solutions with type-safe validation, async/await, XML documentation, and high code quality standards. Ideal for cloud-native, microservices, and enterprise architectures.

DKNet.AspCore.Idempotency.NpgsqlStore

DKNet is an enterprise-grade .NET library collection focused on advanced EF Core extensions, dynamic predicate building, and the Specification pattern. It provides production-ready tools for building robust, type-safe, and testable data access layers, including dynamic LINQ support, LinqKit integration. Designed for modern cloud-native applications, DKNet enforces strict code quality, async best practices, and full documentation for all public APIs. Enterprise-grade .NET library suite for modern application development, featuring advanced EF Core extensions (dynamic predicates, specifications, LinqKit), robust Domain-Driven Design (DDD) patterns, and domain event support. DKNet empowers scalable, maintainable, and testable solutions with type-safe validation, async/await, XML documentation, and high code quality standards. Ideal for cloud-native, microservices, and enterprise architectures.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
13.3.1 96 10/26/2026
13.3.0 120 10/22/2026
13.2.8 108 10/22/2026
13.2.7 137 10/11/2026
13.2.6 105 10/10/2026
13.2.5 127 10/2/2026
13.2.4 117 10/1/2026
13.2.3 116 10/1/2026
13.2.2 108 10/1/2026
13.2.1 116 10/1/2026
13.2.0 116 10/1/2026
13.1.3 118 9/21/2026
13.1.2 115 9/18/2026
13.1.1 116 9/18/2026
13.1.0 115 9/18/2026
13.0.2 113 9/18/2026
13.0.1 107 9/18/2026
13.0.0 121 9/18/2026
12.0.0 114 9/17/2026
11.0.0 117 9/17/2026
Loading failed