Excalibur.Inbox.SqlServer
10.0.0-alpha.5
dotnet add package Excalibur.Inbox.SqlServer --version 10.0.0-alpha.5
NuGet\Install-Package Excalibur.Inbox.SqlServer -Version 10.0.0-alpha.5
<PackageReference Include="Excalibur.Inbox.SqlServer" Version="10.0.0-alpha.5" />
<PackageVersion Include="Excalibur.Inbox.SqlServer" Version="10.0.0-alpha.5" />
<PackageReference Include="Excalibur.Inbox.SqlServer" />
paket add Excalibur.Inbox.SqlServer --version 10.0.0-alpha.5
#r "nuget: Excalibur.Inbox.SqlServer, 10.0.0-alpha.5"
#:package Excalibur.Inbox.SqlServer@10.0.0-alpha.5
#addin nuget:?package=Excalibur.Inbox.SqlServer&version=10.0.0-alpha.5&prerelease
#tool nuget:?package=Excalibur.Inbox.SqlServer&version=10.0.0-alpha.5&prerelease
Excalibur.Inbox.SqlServer
SQL Server implementation of the inbox pattern for Excalibur.
Part Of
This package is included in the following metapackages:
| Metapackage | Tier | What It Adds |
|---|---|---|
Excalibur.SqlServer |
Complete | Everything for SQL Server: ES + Outbox + Inbox + Saga + LE + Audit + Compliance + Data |
Tip: Install
Excalibur.SqlServerfor a production-ready SQL Server stack with a single package reference.
Schema
The store never creates its table at runtime. Provision it before the first message is
processed using the canonical DDL shipped in the package under scripts/001_CreateInboxSchema.sql.
Defaults: schema dbo, table inbox_messages (both configurable via SqlServerInboxOptions).
Tenant-isolation key
Deduplication keys on (MessageId, HandlerType) and, when a tenant is ambient, additionally
on TenantId. The primary/unique key in the database must match your deployment mode:
| Deployment | Store MERGE match key | Required unique key |
|---|---|---|
| Single-tenant (no ambient tenant) | (MessageId, HandlerType) |
(MessageId, HandlerType) |
Multi-tenant (ambient ITenantContext) |
(MessageId, HandlerType, TenantId) |
(MessageId, HandlerType, TenantId), TenantId NOT NULL |
In multi-tenant mode TenantId must be NOT NULL so two tenants sharing
(MessageId, HandlerType) do not collide on the pair key. The shipped DDL ships the
single-tenant pair key by default with the multi-tenant triple key as a documented alternative.
| Product | Versions 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. |
-
net10.0
- AspNetCore.HealthChecks.SqlServer (>= 9.0.0)
- Ben.Demystifier (>= 0.4.1)
- BenchmarkDotNet (>= 0.15.8)
- CloudNative.CloudEvents (>= 2.8.0)
- CloudNative.CloudEvents.SystemTextJson (>= 2.8.0)
- Cronos (>= 0.12.0)
- Dapper (>= 2.1.72)
- Excalibur.Data.SqlServer (>= 10.0.0-alpha.5)
- Excalibur.Dispatch.Abstractions (>= 10.0.0-alpha.5)
- Excalibur.Inbox (>= 10.0.0-alpha.5)
- FluentValidation (>= 12.1.1)
- FluentValidation.DependencyInjectionExtensions (>= 12.1.1)
- IdentityModel (>= 7.0.0)
- JsonNet.ContractResolvers (>= 2.0.0)
- Medo.Uuid7 (>= 3.2.0)
- MemoryPack (>= 1.21.4)
- Microsoft.ApplicationInsights (>= 3.1.0)
- Microsoft.AspNetCore.Authorization (>= 10.0.7)
- Microsoft.CodeAnalysis.Analyzers (>= 5.3.0)
- Microsoft.CodeAnalysis.Common (>= 5.3.0)
- Microsoft.CodeAnalysis.CSharp (>= 5.3.0)
- Microsoft.Data.SqlClient (>= 7.0.0)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Caching.Memory (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.Configuration.CommandLine (>= 10.0.10)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.10)
- Microsoft.Extensions.Configuration.Json (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.10)
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Hosting (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Console (>= 10.0.10)
- Microsoft.Extensions.ObjectPool (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.10)
- Microsoft.IdentityModel.Tokens (>= 8.17.0)
- OpenTelemetry (>= 1.15.3)
- OpenTelemetry.Api (>= 1.15.3)
- OpenTelemetry.Extensions.Hosting (>= 1.15.3)
- Polly (>= 8.6.6)
- System.IdentityModel.Tokens.Jwt (>= 8.17.0)
- System.Threading.RateLimiting (>= 10.0.7)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Excalibur.Inbox.SqlServer:
| Package | Downloads |
|---|---|
|
Excalibur.Outbox.SqlServer
SQL Server implementation of the transactional outbox pattern for Excalibur, providing reliable message delivery with at-least-once semantics using SQL Server as the backing store. |
|
|
Excalibur.SqlServer
Complete SQL Server metapackage for Excalibur: event sourcing, outbox, inbox, sagas, leader election, audit logging, compliance, and data access in a single package reference. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-alpha.5 | 43 | 8/10/2026 |
| 10.0.0-alpha.4 | 41 | 8/10/2026 |
| 3.0.0-alpha.216 | 83 | 6/30/2026 |
| 3.0.0-alpha.215 | 85 | 6/23/2026 |
| 3.0.0-alpha.214 | 92 | 6/23/2026 |
| 3.0.0-alpha.208 | 77 | 6/11/2026 |
| 3.0.0-alpha.207 | 78 | 6/11/2026 |
| 3.0.0-alpha.205 | 80 | 6/10/2026 |
| 3.0.0-alpha.204 | 81 | 6/8/2026 |
| 3.0.0-alpha.203 | 76 | 6/8/2026 |
| 3.0.0-alpha.202 | 85 | 6/8/2026 |
| 3.0.0-alpha.201 | 77 | 6/8/2026 |
| 3.0.0-alpha.199 | 88 | 6/8/2026 |
| 3.0.0-alpha.198 | 77 | 5/28/2026 |
| 3.0.0-alpha.197 | 86 | 5/28/2026 |
| 3.0.0-alpha.194 | 80 | 5/20/2026 |
| 3.0.0-alpha.193 | 82 | 5/13/2026 |
| 3.0.0-alpha.192 | 76 | 5/13/2026 |
| 3.0.0-alpha.191 | 68 | 5/13/2026 |
| 3.0.0-alpha.189 | 91 | 5/12/2026 |
See CHANGELOG.md for release notes