eQuantic.Core.CQS.Abstractions
2.3.0
dotnet add package eQuantic.Core.CQS.Abstractions --version 2.3.0
NuGet\Install-Package eQuantic.Core.CQS.Abstractions -Version 2.3.0
<PackageReference Include="eQuantic.Core.CQS.Abstractions" Version="2.3.0" />
<PackageVersion Include="eQuantic.Core.CQS.Abstractions" Version="2.3.0" />
<PackageReference Include="eQuantic.Core.CQS.Abstractions" />
paket add eQuantic.Core.CQS.Abstractions --version 2.3.0
#r "nuget: eQuantic.Core.CQS.Abstractions, 2.3.0"
#:package eQuantic.Core.CQS.Abstractions@2.3.0
#addin nuget:?package=eQuantic.Core.CQS.Abstractions&version=2.3.0
#tool nuget:?package=eQuantic.Core.CQS.Abstractions&version=2.3.0
eQuantic.Core.CQS.Abstractions
Interfaces and abstractions for the eQuantic.Core.CQS framework.
Installation
dotnet add package eQuantic.Core.CQS.Abstractions
When to Use
Use this package when you want to:
- Define commands, queries, and handlers in a separate assembly
- Create provider implementations without depending on the full CQS package
- Build libraries that integrate with eQuantic.Core.CQS
Key Interfaces
Commands & Queries
// Command without result
public record MyCommand(string Data) : ICommand;
// Command with result
public record CreateCommand(string Name) : ICommand<Guid>;
// Query with result
public record GetByIdQuery(Guid Id) : IQuery<MyDto>;
Handlers
public class MyCommandHandler : ICommandHandler<MyCommand>
{
public Task Execute(MyCommand command, CancellationToken ct) { }
}
public class MyQueryHandler : IQueryHandler<GetByIdQuery, MyDto>
{
public Task<MyDto> Execute(GetByIdQuery query, CancellationToken ct) { }
}
Sagas
public class MySagaData : ISagaData
{
public Guid SagaId { get; set; }
public SagaState State { get; set; }
// Custom data
}
Outbox
public interface IOutboxRepository
{
Task Add(IOutboxMessage message, CancellationToken ct);
Task<IReadOnlyList<IOutboxMessage>> GetPending(int batchSize, CancellationToken ct);
Task MarkProcessed(Guid messageId, CancellationToken ct);
}
License
MIT License - See LICENSE for details.
| 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 was computed. 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 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 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
- eQuantic.Core (>= 1.8.1)
- eQuantic.Core.Eventing (>= 1.8.4)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 6.0.0)
-
net8.0
- eQuantic.Core (>= 1.8.1)
- eQuantic.Core.Eventing (>= 1.8.4)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
-
net9.0
- eQuantic.Core (>= 1.8.1)
- eQuantic.Core.Eventing (>= 1.8.4)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.11)
NuGet packages (14)
Showing the top 5 NuGet packages that depend on eQuantic.Core.CQS.Abstractions:
| Package | Downloads |
|---|---|
|
eQuantic.Core.CQS
High-performance CQS/CQRS framework for .NET with pipeline behaviors, notifications, streaming, sagas, and source generators. A modern, MIT-licensed alternative to MediatR. |
|
|
eQuantic.Core.CQS.Redis
Redis implementations for eQuantic.Core.CQS - Includes Saga Repository, Outbox, and Job Scheduler |
|
|
eQuantic.Core.CQS.AWS
AWS SQS integration for eQuantic.Core.CQS Outbox pattern. Publish messages to Amazon SQS queues. |
|
|
eQuantic.Core.CQS.Azure
Azure Service Bus integration for eQuantic.Core.CQS Outbox pattern. Publish messages to Azure queues and topics. |
|
|
eQuantic.Core.CQS.EntityFramework
Entity Framework Core implementations for eQuantic.Core.CQS - Includes Saga Repository, Outbox, and Job Scheduler using your existing DbContext |
GitHub repositories
This package is not used by any popular GitHub repositories.