Memoria

Providers

Memoria is built around a small set of abstractions and providers that implement them. The core ships with in-memory or no-op defaults; you replace each provider with a real one only when you need it.

Provider matrix

Concern Abstraction Providers
Storage IDomainService Entity Framework Core · + Identity · Cosmos DB · Cosmos InMemory
Messaging IMessagingProvider Azure Service Bus (+ InMemory) · RabbitMQ (+ InMemory)
Caching ICachingProvider In-memory · Redis
Validation IValidationProvider FluentValidation

Why InMemory variants exist

For storage, messaging, and caching, Memoria ships dedicated InMemory packages (Memoria.EventSourcing.Store.Cosmos.InMemory, Memoria.Messaging.ServiceBus.InMemory, Memoria.Messaging.RabbitMq.InMemory). These let you run integration tests and local development without standing up the real backing service. The same IDomainService / IMessagingProvider contract is honored — your application code is unchanged between test and production.

Pick your storage by use case