![]() |
VOOZH | about |
dotnet add package Eladei.Architecture.Tests.EntityFramework --version 1.0.5
NuGet\Install-Package Eladei.Architecture.Tests.EntityFramework -Version 1.0.5
<PackageReference Include="Eladei.Architecture.Tests.EntityFramework" Version="1.0.5" />
<PackageVersion Include="Eladei.Architecture.Tests.EntityFramework" Version="1.0.5" />Directory.Packages.props
<PackageReference Include="Eladei.Architecture.Tests.EntityFramework" />Project file
paket add Eladei.Architecture.Tests.EntityFramework --version 1.0.5
#r "nuget: Eladei.Architecture.Tests.EntityFramework, 1.0.5"
#:package Eladei.Architecture.Tests.EntityFramework@1.0.5
#addin nuget:?package=Eladei.Architecture.Tests.EntityFramework&version=1.0.5Install as a Cake Addin
#tool nuget:?package=Eladei.Architecture.Tests.EntityFramework&version=1.0.5Install as a Cake Tool
Lightweight CQRS + DDD / Entity Framework Executor for .NET
Eladei.Architecture is a set of libraries for implementing commands and queries with support for CQRS, DDD, EF Core, and Outbox.
| Library | Description |
|---|---|
Eladei.Architecture.Cqrs |
Base abstractions and classes for working with commands and queries. |
Eladei.Architecture.Cqrs.Ddd |
Command and query implementation with DDD support. Commands and queries operate on the domain model (Application Layer). |
Eladei.Architecture.Cqrs.EntityFramework |
Command and query implementation using EF Core in the Transaction Script style. Commands and queries can be part of the Domain Layer. |
Eladei.Architecture.Ddd |
Base types for implementing tactical DDD patterns. |
Eladei.Architecture.Jobs.Quartz |
Helper classes for working with Quartz. |
Eladei.Architecture.Logging |
Base types for logging. |
Eladei.Architecture.Messaging |
Base types for integration event processing. |
Eladei.Architecture.Messaging.Kafka |
Types for working with integration events via Kafka. |
Eladei.Architecture.Tests.EntityFramework |
Base types for building integration and unit tests focused on Entity Framework. |
DddCommandExecutor or EfCommandExecutor.DddQueryExecutor or EfQueryExecutor.// Command executor
var commandExecutor = new EfCommandExecutor<BookRatingDbContext>(
contextFactory,
new MockOperationExecutionPolicyService(),
new MockOutboxDomainEventDao(eventDaoLogger));
// Query executor
var queryExecutor = new EfQueryExecutor<BookRatingDbContext>(contextFactory);
// Execute command
var registerBookCommand = new RegisterBookCommand("The Captain's Daughter", "A.S. Pushkin");
var bookId = await commandExecutor.ExecuteAsync(registerBookCommand, CancellationToken.None);
// Execute query
var findBookQuery = new FindBookByIdQuery(bookId);
var bookInfo = await queryExecutor.ExecuteAsync(findBookQuery, CancellationToken.None);
👁 alternate text is missing from this package README image
👁 alternate text is missing from this package README image
// Command executor
var commandExecutor = new DddCommandExecutor(
contextFactory,
new MockOperationExecutionPolicyService(),
new MockOutboxDomainEventDao(eventDaoLogger));
// Query executor
var queryExecutor = new DddQueryExecutor(contextFactory);
// Execute command
var registerBookCommand = new RegisterBookCommand("The Captain's Daughter", "A.S. Pushkin");
var bookId = await _commandExecutor.ExecuteAsync(registerBookCommand, CancellationToken.None);
// Execute query
var query = new FindBookByIdQuery(bookId);
var foundBook = await queryExecutor.ExecuteAsync(query, CancellationToken.None);
👁 alternate text is missing from this package README image
👁 alternate text is missing from this package README image
Full examples: /samples/ConsoleExamples
The DDD-based domain model is intentionally simplified to demonstrate how the library works. In real-world projects, DDD should only be used for complex business logic.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. 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.