![]() |
VOOZH | about |
dotnet add package Memoria.Messaging.RabbitMq.InMemory --version 1.3.2
NuGet\Install-Package Memoria.Messaging.RabbitMq.InMemory -Version 1.3.2
<PackageReference Include="Memoria.Messaging.RabbitMq.InMemory" Version="1.3.2" />
<PackageVersion Include="Memoria.Messaging.RabbitMq.InMemory" Version="1.3.2" />Directory.Packages.props
<PackageReference Include="Memoria.Messaging.RabbitMq.InMemory" />Project file
paket add Memoria.Messaging.RabbitMq.InMemory --version 1.3.2
#r "nuget: Memoria.Messaging.RabbitMq.InMemory, 1.3.2"
#:package Memoria.Messaging.RabbitMq.InMemory@1.3.2
#addin nuget:?package=Memoria.Messaging.RabbitMq.InMemory&version=1.3.2Install as a Cake Addin
#tool nuget:?package=Memoria.Messaging.RabbitMq.InMemory&version=1.3.2Install as a Cake Tool
From Latin memoria (memory)
.NET framework implementing DDD, CQRS, and Event Sourcing.
Memoria is extremely flexible and expandable. It can be used as a simple mediator or as a full Event Sourcing solution with Cosmos DB or Entity Framework Core as storage.
If you're using this repository for your learning, samples, workshop, or your project, please give a star. Thank you!
eventPropertyFilter work correctly against jsonb columns (uses the @> JSON-containment operator and is GIN-indexable)IEventDataFilter extension point in the Entity Framework Core store provider for plugging in provider-specific JSON filter strategiesπ£ Release Notes
public record CreateProduct(string Name) : ICommand;
public class CreateProductHandler : ICommandHandler<CreateProduct>
{
public Task<Result> Handle(CreateProduct command) =>
Task.FromResult(Result.Ok());
}
await dispatcher.Send(new CreateProduct("Espresso"));
See the Mediator Quickstart for queries, notifications, validation, custom handlers, command sequences, and SendAndPublish.
[EventType("OrderPlaced")]
public record OrderPlaced(Guid OrderId, decimal Amount) : IEvent;
var streamId = new CustomerStreamId(customerId);
var aggregateId = new OrderAggregateId(orderId);
var order = new Order(orderId, amount: 25.45m);
await domainService.SaveAggregate(streamId, aggregateId, order, expectedEventSequence: 0);
See the Event Sourcing Quickstart for the full aggregate definition, the four read modes, multiple aggregates per stream, and in-memory replay.
π Full documentation
Memoria is designed to be extensible, supporting custom store, messaging, caching, and validation providers.
Need a specific implementation for your existing code or a new provider (e.g., a custom database store or messaging bus)? Iβve got you covered! I can also work directly on your projects to implement Memoria for your specific event sourcing or CQRS needs.
Please reach out to request custom integrations, new providers, or project assistance via LinkedIn.
| 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.