Cross.CQRS.EF
9.0.0-preview.29
See the version list below for details.
dotnet add package Cross.CQRS.EF --version 9.0.0-preview.29
NuGet\Install-Package Cross.CQRS.EF -Version 9.0.0-preview.29
<PackageReference Include="Cross.CQRS.EF" Version="9.0.0-preview.29" />
<PackageVersion Include="Cross.CQRS.EF" Version="9.0.0-preview.29" />
<PackageReference Include="Cross.CQRS.EF" />
paket add Cross.CQRS.EF --version 9.0.0-preview.29
#r "nuget: Cross.CQRS.EF, 9.0.0-preview.29"
#:package Cross.CQRS.EF@9.0.0-preview.29
#addin nuget:?package=Cross.CQRS.EF&version=9.0.0-preview.29&prerelease
#tool nuget:?package=Cross.CQRS.EF&version=9.0.0-preview.29&prerelease
Cross.CQRS.EF
Simple .NET MediatR base EF Transactional Behavior.
Written on C#.
Main Features:
Configurable Transaction Behavior
When added wrap every CommandHandler into EF Transaction, so only whole CommandHandler instructions will be commited or rejected. Flexible configuration of transaction behavior and isolation levels through DI system. Unified transaction handling with support for different transaction behavior.
Enhanced Transaction Control
The ExactTransaction attribute supports for custom isolation levels and transaction behavior configuration on both global and per-handler basis through the Attribute. To switch off transaction behavior wrapper on specific CommandHandler or change isolation level have to use ExactTransaction attribute on the command handler.
.NET 6, .NET 7, .NET 8 and Source Linking.
From version 8.0 repository contains additional .NET 8 projects. From version 7.0 repository contains .NET 6 and .NET 7 projects. Source linking enabled and symbol package is published to nuget symbols server, making debugging easier.
Install with nuget.org:
https://www.nuget.org/packages/Cross.CQRS.EF
Installation
Clone repository or Install Nuget Package
Install-Package Cross.CQRS.EF
Issues and Pull Request
Contribution is welcomed. If you would like to provide a PR please add some testing.
How To's
Please use Wiki for documentation and usage examples.
Complete usage examples can be found in the test project
Note - test project is not a part of nuget package. You have to clone repository.
Roadmap:
- Add support for distributed transactions and SAGAs
- Implement transaction timeout configuration
- Add monitoring and metrics for transactions
- Provide more examples and documentation for transaction configurations
- Add integration tests for different isolation levels
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. |
-
net6.0
- Cross.CQRS (>= 10.1.4-preview.19)
- Microsoft.EntityFrameworkCore (>= 6.0.25)
- Microsoft.EntityFrameworkCore.Relational (>= 6.0.25)
-
net7.0
- Cross.CQRS (>= 10.1.4-preview.19)
- Microsoft.EntityFrameworkCore (>= 7.0.14)
- Microsoft.EntityFrameworkCore.Relational (>= 7.0.14)
-
net8.0
- Cross.CQRS (>= 10.1.4-preview.19)
- Microsoft.EntityFrameworkCore (>= 8.0.0)
- Microsoft.EntityFrameworkCore.Relational (>= 8.0.0)
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 | |
---|---|---|---|
9.1.0 | 80 | 9/10/2025 | |
9.0.0-preview.31 | 31 | 9/10/2025 | |
9.0.0-preview.30 | 30 | 9/10/2025 | |
9.0.0-preview.29 | 34 | 9/9/2025 | |
9.0.0-preview.28 | 33 | 9/9/2025 | |
9.0.0-preview.27 | 31 | 9/9/2025 | |
9.0.0-preview.26 | 34 | 9/9/2025 | |
9.0.0-preview.25 | 53 | 9/7/2025 | |
9.0.0-preview.24 | 51 | 9/7/2025 | |
9.0.0-preview.23 | 86 | 6/27/2025 | |
9.0.0-preview.0 | 118 | 6/19/2025 | |
8.5.0-preview.22 | 131 | 6/19/2025 | |
8.5.0-preview.21 | 127 | 6/19/2025 | |
8.5.0-preview.20 | 120 | 6/19/2025 | |
8.5.0-preview.19 | 123 | 6/19/2025 | |
8.5.0-preview.17 | 127 | 6/19/2025 | |
8.5.0-preview.16 | 128 | 6/19/2025 | |
8.5.0-preview.15 | 121 | 6/19/2025 | |
8.5.0-preview.14 | 120 | 6/19/2025 | |
8.5.0-preview.13 | 127 | 6/19/2025 | |
8.5.0-preview.12 | 129 | 6/18/2025 | |
8.5.0-preview.11 | 124 | 6/18/2025 | |
8.5.0-preview.10 | 132 | 6/18/2025 | |
8.5.0-preview.9 | 139 | 6/17/2025 | |
8.5.0-preview.8 | 128 | 6/17/2025 | |
8.4.2-preview.7 | 133 | 6/17/2025 | |
8.4.2-preview.6 | 125 | 6/17/2025 | |
8.4.1 | 1,005 | 3/9/2025 | |
8.4.1-preview.6 | 143 | 3/9/2025 | |
8.4.0 | 12,580 | 8/13/2024 | |
8.4.0-preview.2 | 95 | 8/12/2024 | |
8.4.0-preview.1 | 96 | 8/12/2024 | |
8.3.0 | 173 | 8/10/2024 | |
8.3.0-preview.2 | 101 | 8/9/2024 | |
8.2.1 | 962 | 5/16/2024 | |
8.2.1-preview.6 | 96 | 5/16/2024 | |
8.2.0 | 8,862 | 4/16/2024 | |
8.1.1 | 2,235 | 4/3/2024 | |
8.1.1-preview.1 | 100 | 4/3/2024 | |
8.1.0 | 180 | 4/3/2024 | |
8.0.1 | 7,408 | 11/24/2023 | |
8.0.0 | 193 | 11/23/2023 | |
7.0.0 | 26,629 | 11/19/2023 |
Transaction Configuration and Behavior Refactor
1. Centralized Configuration
• Introduced TransactionBehaviorOptions for unified transaction settings
• Added support for configurable isolation levels via DI (registered as singleton)
2. Unified Transaction Handling
• Replaced multiple behaviors (TransactionalBehavior, ScopeBehavior, etc.) with a single UnifiedTransactionBehavior
• Removed switch-based logic in favor of internal strategy selection
3. Improved Documentation
• Enhanced public API docs and parameter descriptions
• Clarified registration order and execution logic
4. Structural Improvements
• Reorganized code into feature folders (e.g., Extensions)
• Added project icon and minor formatting updates
• Renamed "Solution Items" folder to "assets"
• Added new `icon.svg` file to the project
5. Updated `SomeScopeExternalCommandHandler` implementation:
• Modified constructor parameters
• Changed `Events.Write` to `CommandEvents.Write`
• Added support for logging
6. Added IntegrationTests
7. Move PaginationQuery and PaginationQueryHandler into separate library.
8. Removed `PaginationResult.cs` class from the project
Goal: Simplify transaction management, improve configurability, maintainability, and clarity.