![]() |
VOOZH | about |
dotnet add package Franz.Common.Messaging.EntityFramework --version 2.2.7
NuGet\Install-Package Franz.Common.Messaging.EntityFramework -Version 2.2.7
<PackageReference Include="Franz.Common.Messaging.EntityFramework" Version="2.2.7" />
<PackageVersion Include="Franz.Common.Messaging.EntityFramework" Version="2.2.7" />Directory.Packages.props
<PackageReference Include="Franz.Common.Messaging.EntityFramework" />Project file
paket add Franz.Common.Messaging.EntityFramework --version 2.2.7
#r "nuget: Franz.Common.Messaging.EntityFramework, 2.2.7"
#:package Franz.Common.Messaging.EntityFramework@2.2.7
#addin nuget:?package=Franz.Common.Messaging.EntityFramework&version=2.2.7Install as a Cake Addin
#tool nuget:?package=Franz.Common.Messaging.EntityFramework&version=2.2.7Install as a Cake Tool
A specialized library within the Franz Framework designed to integrate Entity Framework Core with messaging workflows. This package ensures transactional consistency for outbox patterns in relational databases, while also supporting polyglot persistence by delegating messaging storage to MongoDB or Azure Cosmos DB when configured.
Transactional Filters
TransactionFilter to manage database transactions in messaging contexts, ensuring consistency and rollback.Service Registration
ServiceCollectionExtensions to simplify the integration of messaging and persistence services.Entity Framework Core Messaging
Polyglot Messaging Support (new in 1.6.2)
IMessageStore, so your messaging workflow does not change regardless of provider.This package relies on:
dotnet nuget add source "https://your-private-feed-url" \
--name "AzurePrivateFeed" \
--username "YourAzureUsername" \
--password "YourAzurePassword" \
--store-password-in-clear-text
Install the package:
dotnet add package Franz.Common.Messaging.EntityFramework
{
"Messaging": {
"Provider": "Postgres" // Options: MariaDb, Postgres, Oracle, SqlServer, Mongo, Cosmos
},
"Database": {
"ConnectionString": "Host=localhost;Database=franz;Username=sa;Password=pass"
},
"MongoDb": {
"ConnectionString": "mongodb://localhost:27017",
"DatabaseName": "FranzOutbox"
},
"CosmosDb": {
"ConnectionString": "AccountEndpoint=https://your-account.documents.azure.com:443/;AccountKey=your-key;",
"DatabaseName": "FranzCosmosOutbox"
}
}
using Franz.Common.Messaging.EntityFramework.Extensions;
builder.Services.AddMessageStore<MyDbContext>(builder.Configuration);
Provider is Postgres, MariaDb, Oracle, or SqlServer → EF-based outbox via DbContext.Provider is Mongo → outbox/dead-letter stored in Mongo collections.Provider is Cosmos → outbox/dead-letter stored in Cosmos containers.When using relational databases, ensure transaction consistency with filters:
using Franz.Common.Messaging.EntityFramework.Transactions;
services.AddControllers(options =>
{
options.Filters.Add<TransactionFilter>();
});
public class MessagingService
{
private readonly IMessageStore _messageStore;
public MessagingService(IMessageStore messageStore)
{
_messageStore = messageStore;
}
public async Task PublishAsync(Message message)
{
await _messageStore.SaveAsync(message);
}
}
The code above works the same whether your provider is EF, Mongo, or Cosmos.
The Franz.Common.Messaging.EntityFramework package integrates seamlessly with:
Messaging:Provider).DbContextBase + StoredMessage entity.IMessageStore implementations.Upgraded version to .NET 9
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.2.7 | 95 | 6/7/2026 |
| 2.2.6 | 96 | 6/6/2026 |
| 2.2.5 | 104 | 6/4/2026 |
| 2.2.4 | 96 | 6/3/2026 |
| 2.2.3 | 93 | 6/2/2026 |
| 2.2.2 | 95 | 6/2/2026 |
| 2.2.1 | 97 | 5/24/2026 |
| 2.1.4 | 106 | 4/27/2026 |
| 2.1.3 | 100 | 4/26/2026 |
| 2.1.2 | 100 | 4/26/2026 |
| 2.1.1 | 123 | 4/22/2026 |
| 2.0.2 | 110 | 3/30/2026 |
| 2.0.1 | 121 | 3/29/2026 |
| 1.7.8 | 112 | 3/2/2026 |
| 1.7.7 | 124 | 1/31/2026 |
| 1.7.6 | 113 | 1/22/2026 |
| 1.7.5 | 120 | 1/10/2026 |
| 1.7.4 | 124 | 12/27/2025 |
| 1.7.3 | 199 | 12/22/2025 |
| 1.7.2 | 201 | 12/21/2025 |