EventFlow 0.12.891

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package EventFlow --version 0.12.891
NuGet\Install-Package EventFlow -Version 0.12.891
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EventFlow" Version="0.12.891" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EventFlow --version 0.12.891
#r "nuget: EventFlow, 0.12.891"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install EventFlow as a Cake Addin
#addin nuget:?package=EventFlow&version=0.12.891

// Install EventFlow as a Cake Tool
#tool nuget:?package=EventFlow&version=0.12.891

CQRS+ES framework

Product Compatible and additional computed target framework versions.
.NET Framework net451 is compatible.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (19)

Showing the top 5 NuGet packages that depend on EventFlow:

Package Downloads
EventFlow.Sql The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

# EventFlow ![EventFlow logo](./icon-128.png) ``` $ dotnet add package EventFlow ``` EventFlow is a basic CQRS+ES framework designed to be easy to use. Have a look at our [getting started guide](https://docs.geteventflow.net/GettingStarted.html), the [do’s and don’ts](https://docs.geteventflow.net/DosAndDonts.html) and the [FAQ](https://docs.geteventflow.net/FAQ.html). ## Features * **Easy to use**: Designed with sensible defaults and implementations that make it easy to create an example application * **Highly configurable and extendable**: EventFlow uses interfaces for every part of its core, making it easy to replace or extend existing features with custom implementation * **No use of threads or background workers** * **MIT licensed** Easy to understand and use license for enterprise ## Versions Development of version 1.0 has started and is mainly braking changes regarding changes related to replacing EventFlow types with that of Microsoft extension abstractions, mainly `IServiceProvider` and `ILogger<>`. The following list key characteristics of each version as well as its related branches (not properly configured yet). * `1.x` Represents the next iteration of EventFlow that aligns EventFlow with the standard packages for .NET (Core). Releases here will only support .NET Standard, .NET Core and .NET versions going forward. - Released - Still development - Not all projects migrated yet Read the [migration guide](./MIGRATION_GUIDE.md) to view the full list of breaking changes as well as recommendations on how to migrate. ### Documentation (not complete) Version 1.x documentation has been pulled into this repository in order to have the code and documentation closer together and (hopefully) have the documentation updated in the same pull-requests as any code changes. ### NuGet package status - 🟢 ported - 💚 newly added to 1.0 - 🟠 not yet ported to 1.0 - 💀 for packages that are removed as part of 1.0 (see the [migration guide](./MIGRATION_GUIDE.md) for details) Projects - 🟢 `EventFlow` - 🟠 `EventFlow.AspNetCore` - 💀 `EventFlow.Autofac` - 💀 `EventFlow.DependencyInjection` - 🟠 `EventFlow.Elasticsearch` - 🟠 `EventFlow.EntityFramework` - 🟠 `EventFlow.EventStores.EventStore` - 🟢 `EventFlow.Hangfire` - 🟢 `EventFlow.MongoDB` - 🟢 `EventFlow.MsSql` - 💀 `EventFlow.Owin` - 🟢 `EventFlow.PostgreSql` - 💚 `EventFlow.Redis` - 🟠 `EventFlow.RabbitMQ` - 🟢 `EventFlow.Sql` - 🟠 `EventFlow.SQLite` - 🟢 `EventFlow.TestHelpers` ### Branches - `develop-v1`: Development branch, pull requests should be done here - `release-v1`: Release branch, merge commits are done to this branch from `develop-v1` to create releases. Typically each commit represents a release * `0.x` (legacy) The current stable version of EventFlow and has been the version of EventFlow for almost six years. 0.x versions have .NET Framework support and limited support to the Microsoft extension packages through extra NuGet packages. Feature and bug fix releases will still be done while there's interest in the community. ### Branches - `develop-v0`: Development branch, pull requests should be done here - `release-v0`: Release branch, merge commits are done to this branch from `develop-v0` to create releases. Typically each commit represents a release ### Documentation Version 0.x documentation is (although a bit outdated) is live at https://docs.geteventflow.net/. ## Talks directly related to EventFlow - [GOTO Aarhus 2022](https://github.com/rasmus/presentation-goto-2022) by [rasmus](https://github.com/rasmus) Practical event sourcing using EventFlow

EventFlow.AspNetCore The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

AspNetCore support for EventFlow

EventFlow.DependencyInjection The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Microsoft.Extensions.DependencyInjection support for EventFlow

EventFlow.Elasticsearch The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Elasticsearch support for EventFlow

EventFlow.MongoDB The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

# EventFlow ![EventFlow logo](./icon-128.png) ``` $ dotnet add package EventFlow ``` EventFlow is a basic CQRS+ES framework designed to be easy to use. Have a look at our [getting started guide](https://docs.geteventflow.net/GettingStarted.html), the [do’s and don’ts](https://docs.geteventflow.net/DosAndDonts.html) and the [FAQ](https://docs.geteventflow.net/FAQ.html). ## Features * **Easy to use**: Designed with sensible defaults and implementations that make it easy to create an example application * **Highly configurable and extendable**: EventFlow uses interfaces for every part of its core, making it easy to replace or extend existing features with custom implementation * **No use of threads or background workers** * **MIT licensed** Easy to understand and use license for enterprise ## Versions Development of version 1.0 has started and is mainly braking changes regarding changes related to replacing EventFlow types with that of Microsoft extension abstractions, mainly `IServiceProvider` and `ILogger<>`. The following list key characteristics of each version as well as its related branches (not properly configured yet). * `1.x` Represents the next iteration of EventFlow that aligns EventFlow with the standard packages for .NET (Core). Releases here will only support .NET Standard, .NET Core and .NET versions going forward. - Released - Still development - Not all projects migrated yet Read the [migration guide](./MIGRATION_GUIDE.md) to view the full list of breaking changes as well as recommendations on how to migrate. ### Documentation (not complete) Version 1.x documentation has been pulled into this repository in order to have the code and documentation closer together and (hopefully) have the documentation updated in the same pull-requests as any code changes. ### NuGet package status - 🟢 ported - 💚 newly added to 1.0 - 🟠 not yet ported to 1.0 - 💀 for packages that are removed as part of 1.0 (see the [migration guide](./MIGRATION_GUIDE.md) for details) Projects - 🟢 `EventFlow` - 🟠 `EventFlow.AspNetCore` - 💀 `EventFlow.Autofac` - 💀 `EventFlow.DependencyInjection` - 🟠 `EventFlow.Elasticsearch` - 🟠 `EventFlow.EntityFramework` - 🟠 `EventFlow.EventStores.EventStore` - 🟢 `EventFlow.Hangfire` - 🟢 `EventFlow.MongoDB` - 🟢 `EventFlow.MsSql` - 💀 `EventFlow.Owin` - 🟢 `EventFlow.PostgreSql` - 💚 `EventFlow.Redis` - 🟠 `EventFlow.RabbitMQ` - 🟢 `EventFlow.Sql` - 🟠 `EventFlow.SQLite` - 🟢 `EventFlow.TestHelpers` ### Branches - `develop-v1`: Development branch, pull requests should be done here - `release-v1`: Release branch, merge commits are done to this branch from `develop-v1` to create releases. Typically each commit represents a release * `0.x` (legacy) The current stable version of EventFlow and has been the version of EventFlow for almost six years. 0.x versions have .NET Framework support and limited support to the Microsoft extension packages through extra NuGet packages. Feature and bug fix releases will still be done while there's interest in the community. ### Branches - `develop-v0`: Development branch, pull requests should be done here - `release-v0`: Release branch, merge commits are done to this branch from `develop-v0` to create releases. Typically each commit represents a release ### Documentation Version 0.x documentation is (although a bit outdated) is live at https://docs.geteventflow.net/. ## Talks directly related to EventFlow - [GOTO Aarhus 2022](https://github.com/rasmus/presentation-goto-2022) by [rasmus](https://github.com/rasmus) Practical event sourcing using EventFlow

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on EventFlow:

Repository Stars
twzhangyang/RestAirline
DDD+CQRS+EventSourcing+Hypermedia API+ASP.NET Core 3.1+Masstransit+terraform+docker+k8s
OKTAYKIR/EventFlow.Example
DDD+CQRS+Event-sourcing examples using EventFlow following CQRS-ES architecture. It is configured with RabbitMQ, MongoDB(Snapshot store), PostgreSQL(Read store), EventStore(GES). It's targeted to .Net Core 2.2 and include docker compose file.
Version Downloads Last updated
1.0.5004-alpha 340 5/23/2024
1.0.5003-alpha 7,114 6/21/2023
1.0.5002-alpha 3,142 11/11/2022
1.0.5001-alpha 2,213 3/15/2022
1.0.4748-alpha 15,234 9/9/2021
1.0.4617-alpha 1,635 6/11/2021
0.83.4713 925,237 9/7/2021
0.82.4684 7,822 8/30/2021
0.82.4659 34,793 6/17/2021
0.81.4483 159,652 12/14/2020
0.80.4377 50,773 10/1/2020
0.79.4216 119,280 5/13/2020
0.78.4205 5,636 5/11/2020
0.77.4077 93,354 12/10/2019
0.76.4014 33,663 10/19/2019
0.75.3970 12,237 9/12/2019
0.74.3948 23,712 7/1/2019
0.73.3933 9,323 6/11/2019
0.72.3914 11,471 5/28/2019
0.71.3834 14,702 4/17/2019
0.70.3824 6,677 4/11/2019
0.69.3772 17,003 2/12/2019
0.68.3728 45,839 12/3/2018
0.67.3697 12,715 10/14/2018
0.66.3673 8,418 9/28/2018
0.65.3664 10,436 9/22/2018
0.64.3598 10,103 8/27/2018
0.63.3581 8,987 8/7/2018
0.62.3569 35,035 7/5/2018
0.61.3524 6,289 6/26/2018
0.60.3490 5,207 6/18/2018
0.59.3396 5,961 5/23/2018
0.58.3377 4,990 5/13/2018
0.57.3359 5,714 4/30/2018
0.56.3328 4,479 4/24/2018
0.55.3323 4,612 4/24/2018
0.54.3261 6,002 2/25/2018
0.53.3204 4,534 1/25/2018
0.52.3178 5,255 11/2/2017
0.51.3155 4,103 10/25/2017
0.50.3124 4,170 10/21/2017
0.49.3031 6,726 9/7/2017
0.48.2937 5,339 7/11/2017
0.47.2894 4,818 6/28/2017
0.46.2886 7,660 5/29/2017
0.45.2877 4,274 5/28/2017
0.44.2832 4,130 5/12/2017
0.43.2806 2,324 5/5/2017
0.42.2755 4,918 5/2/2017
0.41.2727 4,805 4/27/2017
0.40.2590 8,006 3/30/2017
0.39.2553 5,047 1/16/2017
0.38.2454 4,898 12/2/2016
0.37.2424 5,092 11/8/2016
0.36.2315 6,077 10/18/2016
0.35.2247 5,009 9/6/2016
0.34.2221 4,750 8/23/2016
0.33.2190 4,525 8/16/2016
0.32.2163 4,692 7/4/2016
0.31.2106 4,498 6/30/2016
0.30.2019 4,854 6/16/2016
0.29.1973 6,252 4/19/2016
0.28.1852 4,556 4/5/2016
0.27.1765 7,907 2/25/2016
0.26.1714 4,531 2/20/2016
0.25.1695 3,885 2/15/2016
0.24.1563 4,260 1/25/2016
0.23.1470 4,911 12/5/2015
0.22.1393 4,765 11/19/2015
0.21.1312 4,018 10/26/2015
0.20.1274 3,829 10/22/2015
0.19.1225 3,750 10/19/2015
0.18.1181 4,106 10/7/2015
0.17.1134 3,990 9/28/2015
0.16.1120 3,882 9/27/2015
0.15.1057 3,952 9/24/2015
0.14.1051 3,924 9/23/2015
0.13.962 3,904 9/13/2015
0.12.891 3,700 9/4/2015
0.11.751 3,682 8/24/2015
0.10.642 3,458 8/17/2015
0.9.580 3,532 7/20/2015
0.8.560 3,355 5/29/2015
0.7.481 3,344 5/22/2015
0.6.456 3,181 5/18/2015
0.5.390 3,364 5/8/2015
0.4.353 3,223 5/5/2015
0.3.292 3,682 4/30/2015

Breaking: Aggregate root no longer have `Aggregate` removed from their
when name, i.e., the metadata property with key `aggregate_name` (or
`MetadataKeys.AggregateName`). If you are dependent on the previous naming,
use the new `AggregateName` attribute and apply it to your aggregates
Breaking: Moved `Identity<>` and `IIdentity` from the `EventFlow.Aggregates`
namespace to `EventFlow.Core` as the identities are not specific for aggregates
Breaking: `ICommand.Id` is renamed to `ICommand.AggregateId` to make "room"
for the new `ICommand.SourceId` property. If commands are serialized, then
it _might_ be important verify that the serialization still works. EventFlow
_does not_ serialize commands, so no mitigation is provided. If the
`Command<,>` is used, make sure to use the correct protected constructor
Breaking: `IEventStore.StoreAsync(...)` now requires an additional
`ISourceId` argument. To create a random one, use `SourceId.New`, but it
should be e.g. the command ID that resulted in the events. Note, this method
isn't typically used by developers
New: Added `ICommand.SourceId`, which contains the ID of the source. The
default (if your commands inherit from `Command<,>`) will be a new
`CommandId` each time the a `Command<,>` instance is created. You can pass
specific value, merely use the newly added constructor taking the ID.
Alternatively you commands could inherit from the new
`DistinctCommand`, enabling commands with the same state to have the
same `SourceId`
New: Duplicate commands can be detected using the new `ISourceId`. Read the
EventFlow article regarding commands for more details
New: Aggregate names can now be configured using the attribute
`AggregateName`. The name can be accessed using the new `IAggregateRoot.Name`
property
New: Added `Identity<>.NewDeterministic(Guid, string)` enabling creation of
[deterministic GUIDs](http://code.logos.com/blog/2011/04/generating_a_deterministic_guid.html)
New: Added new metadata key `source_id` (`MetadataKeys.SourceId`) containing
the source ID, typically the ID of the command from which the event
originated
New: Added new metadata key `event_id` (`MetadataKeys.EventId`) containing a
deterministic ID for the event. Events with the same aggregate sequence
number and from aggregates with the same identity, will have the same event
identity
Fixed: `Identity<>.With(string)` now throws an `ArgumentException` instead of
a `TargetInvocationException` when passed an invalid identity
Fixed: Aggregate roots now build the cache of `Apply` methods once, instead
of when the method is requested the first time