Rwx.Outbox.Persistence.EfCore
0.3.1
dotnet add package Rwx.Outbox.Persistence.EfCore --version 0.3.1
NuGet\Install-Package Rwx.Outbox.Persistence.EfCore -Version 0.3.1
<PackageReference Include="Rwx.Outbox.Persistence.EfCore" Version="0.3.1" />
<PackageVersion Include="Rwx.Outbox.Persistence.EfCore" Version="0.3.1" />
<PackageReference Include="Rwx.Outbox.Persistence.EfCore" />
paket add Rwx.Outbox.Persistence.EfCore --version 0.3.1
#r "nuget: Rwx.Outbox.Persistence.EfCore, 0.3.1"
#:package Rwx.Outbox.Persistence.EfCore@0.3.1
#addin nuget:?package=Rwx.Outbox.Persistence.EfCore&version=0.3.1
#tool nuget:?package=Rwx.Outbox.Persistence.EfCore&version=0.3.1
Rwx.Outbox.Persistence.EfCore
EF Core outbox storage and transactional IIntegrationEventPublisher implementation for the Rwx framework.
Install
dotnet add package Rwx.Outbox.Persistence.EfCore --version 0.1.0
Quick start
using Rwx.Outbox.Persistence.EfCore;
builder.Services.AddRwxOutbox("ordering");
Apply the outbox model configuration in the application's DbContext:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ApplyConfiguration(new OutboxMessageConfiguration());
}
The context must also be resolvable as DbContext (for example, register it with the corresponding base-type service). AddRwxOutbox() replaces the integration-event publisher so messages are written in the same transaction as the ambient unit of work. Run AddRwxOutboxWorker() from Rwx.Outbox in a background host to relay them to an event bus.
For module-based applications, subclass RwxOutboxModule and return a stable service name from Source.
Required composition rules
Call AddRwxOutbox() in the service that changes business data and publishes integration events; it replaces the default publisher with a transactionally staged publisher. Apply OutboxMessageConfiguration to the same DbContext that commits the business change, and keep Source stable across deployments. This package stores messages only—it does not publish them; run the separate outbox worker in an appropriate host.
| 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
- Microsoft.EntityFrameworkCore (>= 10.0.9)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.9)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 10.0.8)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.9)
- Rwx.EventBus.Abstractions (>= 0.3.1)
- Rwx.Outbox (>= 0.3.1)
- Scrutor (>= 7.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.