Perago.SharedKernel.IntegrationEventLogEF
1.0.98
dotnet add package Perago.SharedKernel.IntegrationEventLogEF --version 1.0.98
NuGet\Install-Package Perago.SharedKernel.IntegrationEventLogEF -Version 1.0.98
<PackageReference Include="Perago.SharedKernel.IntegrationEventLogEF" Version="1.0.98" />
<PackageVersion Include="Perago.SharedKernel.IntegrationEventLogEF" Version="1.0.98" />
<PackageReference Include="Perago.SharedKernel.IntegrationEventLogEF" />
paket add Perago.SharedKernel.IntegrationEventLogEF --version 1.0.98
#r "nuget: Perago.SharedKernel.IntegrationEventLogEF, 1.0.98"
#:package Perago.SharedKernel.IntegrationEventLogEF@1.0.98
#addin nuget:?package=Perago.SharedKernel.IntegrationEventLogEF&version=1.0.98
#tool nuget:?package=Perago.SharedKernel.IntegrationEventLogEF&version=1.0.98
Perago.SharedKernel.IntegrationEventLogEF
Entity Framework Core integration event log for reliable publishing and consumption through outbox and inbox patterns.
Installation
dotnet add package Perago.SharedKernel.IntegrationEventLogEF
Getting Started
DbContext
Use IntegrationEventLogContext, or expose the log set from your own context:
public class AppDbContext : DbContext
{
public DbSet<IntegrationEventLogEntry> IntegrationEventLogs { get; set; }
}
Save with the business transaction
await _eventLogService.SaveEventAsync(@event, dbTransaction);
Store outbox records in the same EF Core transaction as business changes so publishing can be retried without losing the business operation.
Dispatch pending events
var pending = await _eventLogService.RetrieveEventLogsPendingToPublishAsync();
await _eventLogService.MarkEventAsInProgressAsync(entry.EventId);
// publish via IEventBus, then:
await _eventLogService.MarkEventAsPublishedAsync(entry.EventId);
Failed and poison messages use MarkEventAsFailedAsync and MarkEventAsDeadLetteredAsync. IntegrationEventOutboxDispatcher coordinates retries. Inbox types (IIntegrationEventInboxService, IntegrationEventInboxEntry) ignore duplicate deliveries.
See docs/OUTBOX_INBOX.md in the package, plus repository migration scripts and operational runbooks.
Dependencies
- Microsoft.EntityFrameworkCore (10.0.12)
- Newtonsoft.Json (13.0.4)
- Npgsql.EntityFrameworkCore.PostgreSQL (10.0.3)
- Perago.SharedKernel.Abstraction.Domain
- Perago.SharedKernel.EventBus
Target Frameworks
- net10.0
License
MIT
| 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
- MediatR (>= 12.5.0)
- Microsoft.EntityFrameworkCore (>= 10.0.12)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Options (>= 10.0.12)
- Newtonsoft.Json (>= 13.0.4)
- Npgsql (>= 10.0.3)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 10.0.3)
- Perago.SharedKernel.Abstraction.Domain (>= 1.0.98)
- Perago.SharedKernel.EventBus (>= 1.0.98)
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 |
|---|---|---|
| 1.0.98 | 40 | 9/19/2026 |
| 1.0.97 | 43 | 9/19/2026 |
| 1.0.96 | 57 | 9/16/2026 |
| 1.0.95 | 95 | 9/11/2026 |
| 1.0.94 | 81 | 9/11/2026 |
| 1.0.93 | 84 | 9/11/2026 |
| 1.0.92 | 109 | 9/5/2026 |
| 1.0.91 | 89 | 8/31/2026 |
| 1.0.90 | 90 | 8/30/2026 |
| 1.0.89 | 108 | 8/29/2026 |
| 1.0.88 | 136 | 8/19/2026 |
| 1.0.87 | 106 | 8/18/2026 |
| 1.0.86 | 124 | 8/17/2026 |
| 1.0.85 | 118 | 8/11/2026 |
| 1.0.84 | 101 | 8/9/2026 |
| 1.0.83 | 113 | 8/8/2026 |
| 1.0.82 | 143 | 7/23/2026 |
| 1.0.81 | 109 | 7/23/2026 |
| 1.0.80 | 112 | 7/23/2026 |
| 1.0.79 | 108 | 7/23/2026 |