Bsft.Outbox.EFCore
2.2.0
dotnet add package Bsft.Outbox.EFCore --version 2.2.0
NuGet\Install-Package Bsft.Outbox.EFCore -Version 2.2.0
<PackageReference Include="Bsft.Outbox.EFCore" Version="2.2.0" />
<PackageVersion Include="Bsft.Outbox.EFCore" Version="2.2.0" />
<PackageReference Include="Bsft.Outbox.EFCore" />
paket add Bsft.Outbox.EFCore --version 2.2.0
#r "nuget: Bsft.Outbox.EFCore, 2.2.0"
#:package Bsft.Outbox.EFCore@2.2.0
#addin nuget:?package=Bsft.Outbox.EFCore&version=2.2.0
#tool nuget:?package=Bsft.Outbox.EFCore&version=2.2.0
Bsft.Outbox.EFCore
One EF Core implementation of the outbox lease protocol, generic over the row it leases. A second outbox in a host is a second table and a second registration, never a second protocol.
Install
dotnet add package Bsft.Outbox.EFCore
Requires Bsft.Outbox.Abstractions (pulled transitively) and Microsoft.EntityFrameworkCore.
Register
services.AddSingleton<IOutboxRowSource<MyOutboxRowEntity, MyPayload>, MyOutboxRowSource>();
services.AddSingleton<IOutboxStore<MyPayload>, EFCoreOutboxStore<MyOutboxRowEntity, MyPayload>>();
The entity derives from OutboxRow, which brings the lifecycle columns the lease protocol reads and
writes; its own columns are whatever the payload needs. Configure the entity as usual, including the
index over the claim predicate, and add the set to a context interface of your own.
Configure
| Option | Default | Effect |
|---|---|---|
| — | — | This package carries no options type. What a pass is bounded by belongs to the drain loop and lives in Bsft.Outbox as BsftOutboxOptions. |
Validation: none — there is nothing here to configure.
Extend
IOutboxRowSource<TEntity, TPayload> (where this outbox's rows live, how one is read, and the column
length a recorded failure is cut to). The lease protocol itself is deliberately not a seam: the audit
that found it sound was about this one implementation.
Documentation
Topic page: docs/outbox.md. Conventions: docs/package-conventions.md.
| Product | Versions 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 was computed. 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. |
-
net10.0
- Bsft.Outbox.Abstractions (>= 2.2.0)
- Microsoft.EntityFrameworkCore (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
-
net8.0
- Bsft.Outbox.Abstractions (>= 2.2.0)
- Microsoft.EntityFrameworkCore (>= 9.0.19)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.19)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Bsft.Outbox.EFCore:
| Package | Downloads |
|---|---|
|
Bsft.Messaging.EFCore
BSFT Framework EF Core transactional outbox: integration events are stored in the same transaction as the state change and delivered by a leased background dispatcher. |
GitHub repositories
This package is not used by any popular GitHub repositories.