Mediarq.UnitOfWork
1.5.1
dotnet add package Mediarq.UnitOfWork --version 1.5.1
NuGet\Install-Package Mediarq.UnitOfWork -Version 1.5.1
<PackageReference Include="Mediarq.UnitOfWork" Version="1.5.1" />
<PackageVersion Include="Mediarq.UnitOfWork" Version="1.5.1" />
<PackageReference Include="Mediarq.UnitOfWork" />
paket add Mediarq.UnitOfWork --version 1.5.1
#r "nuget: Mediarq.UnitOfWork, 1.5.1"
#:package Mediarq.UnitOfWork@1.5.1
#addin nuget:?package=Mediarq.UnitOfWork&version=1.5.1
#tool nuget:?package=Mediarq.UnitOfWork&version=1.5.1
Mediarq.UnitOfWork
Commit a unit of work around a command that implements ITransactionalRequest. The behavior calls
IUnitOfWork.SaveChangesAsync() after the handler, and only when the result is not a failure —
so a handler just stages changes and a failed Result rolls nothing forward.
dotnet add package Mediarq.UnitOfWork
Usage
Implement IUnitOfWork over your data access and register it:
builder.Services.AddScoped<IUnitOfWork, MyUnitOfWork>();
builder.Services.AddMediarqUnitOfWork(); // after AddMediarq / AddMediarqCore
public record CreateOrder(string Customer) : ICommand<Result<Guid>>, ITransactionalRequest;
public class CreateOrderHandler(IRepository repo) : ICommandHandler<CreateOrder, Result<Guid>>
{
public Task<Result<Guid>> Handle(CreateOrder request, CancellationToken ct = default)
{
var id = repo.Add(/* ... */); // staged; no SaveChanges here
return Task.FromResult(Result.Success(id));
}
}
Using EF Core? Mediarq.EntityFrameworkCore wires your
DbContextas theIUnitOfWorkin one call.
Learn more
Wiring extensions · Full README
MIT © Nicolas Rouffart
| 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 is compatible. 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
- Mediarq.Core (>= 1.5.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
-
net8.0
- Mediarq.Core (>= 1.5.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
-
net9.0
- Mediarq.Core (>= 1.5.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Mediarq.UnitOfWork:
| Package | Downloads |
|---|---|
|
Mediarq
Lean meta-package bundling Mediarq.Core and the lightweight extensions: ASP.NET Core, FluentValidation, DataAnnotations, Caching, Diagnostics and UnitOfWork. Heavy or opinionated integrations (EntityFrameworkCore, OpenTelemetry, MassTransit, Polly) ship as separate packages — install them explicitly when you need them. |
|
|
Mediarq.EntityFrameworkCore
EF Core integration for Mediarq: an IUnitOfWork over a DbContext, so transactional commands are committed via SaveChanges. |
GitHub repositories
This package is not used by any popular GitHub repositories.