A lightweight enterprise framework to write CQRS, event-sourced and micro-service applications in hybrid multi-datacentre, on-premise and Azure environments.
See the version list below for details.
Install-Package Cqrs -Version 2.3.1583.808
dotnet add package Cqrs --version 2.3.1583.808
<PackageReference Include="Cqrs" Version="2.3.1583.808" />
paket add Cqrs --version 2.3.1583.808
* Added ApplyChanges to AggregateRoot and Saga for more optimal handling of multiple events.
* Added IEventWithIdentity and ICommandWithIdentity to provide better event and command traceability versus aggregate and saga identification.
* Added better command sending abilities into Sagas.
* Added the ability to specify (via configuration) separate table for the EventStore when using SQL.
* Added configurable support for using the private bus.
* Added a SampleRuntime class. This is a sample runtime to use in proof of concept projects to get something running very quickly. Doesn't save anything. All data is lost when recycled and may cause terrible memory usage.
* Added GetToVersion To the EventStore, UnitOfWork and AggregateRepository so you can get up to a set version
* Added GetToDate To the EventStore, UnitOfWork and AggregateRepository so you can get up to a specific date
* Added configuration transformations to required app.config and web.config settings are more obvious and set by default.
* Refactored CqrsHttpApplication from the Cqrs.WebApi package here without a requirement on SignalR.
* Added several base level Hosts for WebAPI, WCF WebJobs and console to base themselves off.
* Relocated InProcessEventStore here.
* Added new Exceptions.
* ReplicatedSqlEventStore was relocated from the Cqrs.Sql package into this package.
* Moved MultipleCommandHandlersRegisteredException to Cqrs.Exceptions
* Moved MultipleHandlersRegisteredException to Cqrs.Exceptions
* Moved NoCommandHandlerRegisteredException to Cqrs.Exceptions
* Moved NoEventHandlerRegisteredException to Cqrs.Exceptions
* Moved NoHandlerRegisteredException to Cqrs.Exceptions
* Moved NoHandlersRegisteredException to Cqrs.Exceptions
* Renamed and deprecated Cqrs.Domain.IRepository to Cqrs.Domain.IAggregateRepository.
* Renamed and deprecated Cqrs.Domain.Repository to Cqrs.Domain.AggregateRepository.
* #11. Added Saga/Process Manager via a new Cqrs.Domain.Saga class. This is an event handler with access to the Command Bus for sending command and uses an EventStore for state management.
* #17. Added an authentication helper based on integers and Guids, see DefaultAuthenticationTokenHelper.
* #18. Added IPublishAndWaitCommandPublisher to replace the deprecated ISendAndWaitCommandSender.
* #18. Added IPublishAndWaitCommandPublisher to InProcessBus.
* #19. Added support for multiple write and read connection strings for simplified SQL data store.
* Added built-in Linq To SQL data store and event store modules to speed up time to market. This enables the use of just the one CQRS package to get to market. This adds a new configuration property "SqlDataStoreDbFileOrServerOrConnection" to the appSettings.
* Added Sql script for creating an event store table on SqlServer. Look in the Tool folder of the nuget package folder.
* An example for using the new Sql modules for data persistence and event sourcing can be found at our GitHub repository. Look for the 'Samples\CqrsWeb' Project.
* Added a repository builder and data-store builder to entities in UML.
* Added code generation for the base Host class.
* Added an event store service class so event can be queried by CorrelationId for external services that don't have access to the bus network.
* Added new stereo type on relationships to visually model aggregate to event EventHandlers.
* Added new stereo type on relationships to visually model event to command converter EventHandlers.
* Added new stereo type on relationships to visually model command to aggregate CommandHandlers.
* Added a new companion package Cqrs.WebApi that provides the base for ASP.NET Web API usage with CQRS.NET.
* Added configurable setting to enable certain events and commands to not be required to be handled by the service bus (useful when you want an instance of the system to just run a subset of all possible events that might be received by a poorly configured bus). Currently only AzureService bus support this.
* Added configurable setting to change the default behaviour of the "certain events and commands are required or not" settings into a white-list or black-list.
* Added a tokens "TokenWithUserRsn", "TokenWithCompanyRsn" and "TokenWithUserRsnAndCompanyRsn".
* Added MemoryCacheEventStore.
* Added SendAndWait to command senders.
* Added the EventStoreRetentionLevel Attribute to allow custom event publishers to use a standardised metric to decide hot, warm and cold storage of events.
* Added public/private event attributes.
* Added public/private notification attributes.
* Added telemetry data collection on repositories and event-stores.
* Added ability to send a collection of commands and events.
* Deprecated the ICommandSender and replaced it with the ICommandPublisher.
* Allowed the JsonSettings in draw default from DefaultJsonSerializerSettings so that custom contract resolvers and converters added without needing to inherit and implement a customise classes.
NuGet packages (33)
Showing the top 5 NuGet packages that depend on Cqrs:
Use Greg Young's event store as the Event Store in CQRS.NET
Deprecated. Use the Cqrs.Ninject package instead.
Use MongoDB as the read store and data store in CQRS.NET
Use Ninject as your IoC container of choice with Greg Young's Event Store for CQRS.NET
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Cqrs:
A lightweight enterprise Function as a Service (FaaS) framework to write function based serverless and micro-service applications in hybrid multi-datacentre, on-premise and Azure environments.