Cogito.MassTransit.EntityFrameworkCore.DependencyInjection
3.1.0
dotnet add package Cogito.MassTransit.EntityFrameworkCore.DependencyInjection --version 3.1.0
NuGet\Install-Package Cogito.MassTransit.EntityFrameworkCore.DependencyInjection -Version 3.1.0
<PackageReference Include="Cogito.MassTransit.EntityFrameworkCore.DependencyInjection" Version="3.1.0" />
<PackageVersion Include="Cogito.MassTransit.EntityFrameworkCore.DependencyInjection" Version="3.1.0" />
<PackageReference Include="Cogito.MassTransit.EntityFrameworkCore.DependencyInjection" />
paket add Cogito.MassTransit.EntityFrameworkCore.DependencyInjection --version 3.1.0
#r "nuget: Cogito.MassTransit.EntityFrameworkCore.DependencyInjection, 3.1.0"
#:package Cogito.MassTransit.EntityFrameworkCore.DependencyInjection@3.1.0
#addin nuget:?package=Cogito.MassTransit.EntityFrameworkCore.DependencyInjection&version=3.1.0
#tool nuget:?package=Cogito.MassTransit.EntityFrameworkCore.DependencyInjection&version=3.1.0
Cogito.MassTransit.EntityFrameworkCore.DependencyInjection
Keeps MassTransit saga instances in Entity Framework Core, registered from an attribute on the saga.
Install
dotnet add package Cogito.MassTransit.EntityFrameworkCore.DependencyInjection
Use
Apply [EntityFrameworkSagaRepository] to a saga, or a saga state machine, registered with
Cogito.MassTransit.DependencyInjection,
naming the DbContext that maps the saga:
[AddSagaStateMachine(EndpointName = "order-state")]
[EntityFrameworkSagaRepository(typeof(OrderDbContext))]
public class OrderStateMachine : MassTransitStateMachine<OrderState> { ... }
The DbContext must be registered in the container, for instance with services.AddDbContext<OrderDbContext>(...),
and must map the saga's instance type.
The attribute takes:
ConcurrencyMode:Pessimistic, the default, locks an instance when it is loaded;Optimisticchecks it for changes when it is saved.IsolationLevelof the transaction: unless set,Serializablefor pessimistic andReadCommittedfor optimistic.LockStatementProvider, MassTransit'sILockStatementProviderwhose statement locks pessimistic instances when they are loaded. Unless set, it is MassTransit's default, for SQL Server. On another database, name its provider:[EntityFrameworkSagaRepository(typeof(OrderDbContext), LockStatementProvider = typeof(PostgresLockStatementProvider))]The provider is created with a constructor whose parameters are all optional, as MassTransit's providers have. For a schema other than the
DbContext's default, derive a provider that passes it to the base constructor.
The repository is registered directly, so it does not depend on whether the attributes are added before or after
AddMassTransit.
License
MIT.
| 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 was computed. 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. |
-
net8.0
- Cogito.MassTransit.DependencyInjection (>= 3.1.0)
- MassTransit.EntityFrameworkCore (>= 8.5.10)
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 |
|---|---|---|
| 3.1.0 | 43 | 10/15/2026 |