EventFlow 0.12.891

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.AspNetCore

# EventFlow <table border=0 cellpadding=0 cellspacing=0> <tr> <td width=25%> <img src=./icon-128.png /> </td> <td width=25%> <p> <a href=https://www.nuget.org/packages/EventFlow/><img src=https://img.shields.io/nuget/v/EventFlow.svg?style=flat /></a> </p> <p> <a href=https://docs.geteventflow.net/?badge=latest><img src=https://readthedocs.org/projects/eventflow/badge/?version=latest /></a> </p> </td> <td width=25%> <p> <a href=https://ci.appveyor.com/project/eventflow/eventflow><img src=https://ci.appveyor.com/api/projects/status/51yvhvbd909e4o82/branch/develop?svg=true /></a> </p> <p> <a href=https://gitter.im/rasmus/EventFlow?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge><img src=https://badges.gitter.im/Join Chat.svg /></a> </p> <!-- <p> <a href=https://codecov.io/github/eventflow/EventFlow?branch=develop><img src=https://codecov.io/github/eventflow/EventFlow/coverage.svg?branch=develop /></a> </p> --> </td> <td width=25%> Think EventFlow is great,<br/> <a href=https://www.paypal.me/rasmusnu>buy me a cup of coffee</a> </td> </tr> </table> NuGet feeds - Official releases: https://www.nuget.org/packages/EventFlow/ - Builds: https://ci.appveyor.com/nuget/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 * **CQRS+ES framework** * **Async/await first:** Every part of EventFlow is written using async/await. * **Highly configurable and extendable** * **Easy to use** * **No use of threads or background workers** * **Cancellation:** All methods that does IO work or might delay execution (due to retries), takes a `CancellationToken` argument to allow you to cancel the operation ### Examples * **[Complete](#complete-example):** Shows a complete example on how to use EventFlow with in-memory event store and read models in a relatively few lines of code * **Shipping:** To get a more complete example of how EventFlow _could_ be used, have a look at the shipping example found here in the code base. The example is based on the shipping example from the book Domain-Driven Design - Tackling Complexity in the Heart of Software by Eric Evans. Its _in-progress_, but should provide inspiration on how to use EventFlow on a larger scale. If you have ideas and/or comments, create a pull request or an issue

EventFlow.Sql

# EventFlow ![EventFlow logo](https://raw.githubusercontent.com/eventflow/EventFlow/develop-v1/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://geteventflow.net/getting-started/), the [do’s and don’ts](https://geteventflow.net/additional/dos-and-donts/) and the [FAQ](https://geteventflow.net/additional/faq/). Alternatively, join our [Discord](https://discord.gg/QfgNPs5WxR) server to engage with the community. Its hopefully getting a reboot to kickstart the upcoming release of v1. ## 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. Releases here will only support .NET Standard, .NET Core and .NET versions 6+ going forward. - Released - Still development - Not all projects migrated yet Read the [migration guide](https://geteventflow.net/migrations/v0-to-v1/) to view the full list of breaking changes as well as recommendations on how to migrate. ### Documentation Version 1.x documentation has been pulled into this repository in order to have the code and documentation closer together and have the documentation updated in the same pull-requests as any code changes. The compiled version of the documentation is available at https://geteventflow.net/. ### 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](https://geteventflow.net/migrations/v0-to-v1/) 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/.

EventFlow.DependencyInjection

# EventFlow <table border=0 cellpadding=0 cellspacing=0> <tr> <td width=25%> <img src=./icon-128.png /> </td> <td width=25%> <p> <a href=https://www.nuget.org/packages/EventFlow/><img src=https://img.shields.io/nuget/v/EventFlow.svg?style=flat /></a> </p> <p> <a href=https://docs.geteventflow.net/?badge=latest><img src=https://readthedocs.org/projects/eventflow/badge/?version=latest /></a> </p> </td> <td width=25%> <p> <a href=https://ci.appveyor.com/project/eventflow/eventflow><img src=https://ci.appveyor.com/api/projects/status/51yvhvbd909e4o82/branch/develop?svg=true /></a> </p> <p> <a href=https://gitter.im/rasmus/EventFlow?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge><img src=https://badges.gitter.im/Join Chat.svg /></a> </p> <!-- <p> <a href=https://codecov.io/github/eventflow/EventFlow?branch=develop><img src=https://codecov.io/github/eventflow/EventFlow/coverage.svg?branch=develop /></a> </p> --> </td> <td width=25%> Think EventFlow is great,<br/> <a href=https://www.paypal.me/rasmusnu>buy me a cup of coffee</a> </td> </tr> </table> NuGet feeds - Official releases: https://www.nuget.org/packages/EventFlow/ - Builds: https://ci.appveyor.com/nuget/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 * **CQRS+ES framework** * **Async/await first:** Every part of EventFlow is written using async/await. * **Highly configurable and extendable** * **Easy to use** * **No use of threads or background workers** * **Cancellation:** All methods that does IO work or might delay execution (due to retries), takes a `CancellationToken` argument to allow you to cancel the operation ### Examples * **[Complete](#complete-example):** Shows a complete example on how to use EventFlow with in-memory event store and read models in a relatively few lines of code * **Shipping:** To get a more complete example of how EventFlow _could_ be used, have a look at the shipping example found here in the code base. The example is based on the shipping example from the book Domain-Driven Design - Tackling Complexity in the Heart of Software by Eric Evans. Its _in-progress_, but should provide inspiration on how to use EventFlow on a larger scale. If you have ideas and/or comments, create a pull request or an issue

EventFlow.Elasticsearch

# EventFlow <table border=0 cellpadding=0 cellspacing=0> <tr> <td width=25%> <img src=./icon-128.png /> </td> <td width=25%> <p> <a href=https://www.nuget.org/packages/EventFlow/><img src=https://img.shields.io/nuget/v/EventFlow.svg?style=flat /></a> </p> <p> <a href=https://docs.geteventflow.net/?badge=latest><img src=https://readthedocs.org/projects/eventflow/badge/?version=latest /></a> </p> </td> <td width=25%> <p> <a href=https://ci.appveyor.com/project/eventflow/eventflow><img src=https://ci.appveyor.com/api/projects/status/51yvhvbd909e4o82/branch/develop?svg=true /></a> </p> <p> <a href=https://gitter.im/rasmus/EventFlow?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge><img src=https://badges.gitter.im/Join Chat.svg /></a> </p> <!-- <p> <a href=https://codecov.io/github/eventflow/EventFlow?branch=develop><img src=https://codecov.io/github/eventflow/EventFlow/coverage.svg?branch=develop /></a> </p> --> </td> <td width=25%> Think EventFlow is great,<br/> <a href=https://www.paypal.me/rasmusnu>buy me a cup of coffee</a> </td> </tr> </table> NuGet feeds - Official releases: https://www.nuget.org/packages/EventFlow/ - Builds: https://ci.appveyor.com/nuget/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 * **CQRS+ES framework** * **Async/await first:** Every part of EventFlow is written using async/await. * **Highly configurable and extendable** * **Easy to use** * **No use of threads or background workers** * **Cancellation:** All methods that does IO work or might delay execution (due to retries), takes a `CancellationToken` argument to allow you to cancel the operation ### Examples * **[Complete](#complete-example):** Shows a complete example on how to use EventFlow with in-memory event store and read models in a relatively few lines of code * **Shipping:** To get a more complete example of how EventFlow _could_ be used, have a look at the shipping example found here in the code base. The example is based on the shipping example from the book Domain-Driven Design - Tackling Complexity in the Heart of Software by Eric Evans. Its _in-progress_, but should provide inspiration on how to use EventFlow on a larger scale. If you have ideas and/or comments, create a pull request or an issue

EventFlow.MongoDB

# EventFlow ![EventFlow logo](https://raw.githubusercontent.com/eventflow/EventFlow/develop-v1/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://geteventflow.net/getting-started/), the [do’s and don’ts](https://geteventflow.net/additional/dos-and-donts/) and the [FAQ](https://geteventflow.net/additional/faq/). Alternatively, join our [Discord](https://discord.gg/QfgNPs5WxR) server to engage with the community. Its hopefully getting a reboot to kickstart the upcoming release of v1. ## 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. Releases here will only support .NET Standard, .NET Core and .NET versions 6+ going forward. - Released - Still development - Not all projects migrated yet Read the [migration guide](https://geteventflow.net/migrations/v0-to-v1/) to view the full list of breaking changes as well as recommendations on how to migrate. ### Documentation Version 1.x documentation has been pulled into this repository in order to have the code and documentation closer together and have the documentation updated in the same pull-requests as any code changes. The compiled version of the documentation is available at https://geteventflow.net/. ### 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](https://geteventflow.net/migrations/v0-to-v1/) 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/.

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.5007 381 11/16/2024
1.0.5004-alpha 1,688 5/23/2024
1.0.5003-alpha 13,199 6/21/2023
1.0.5002-alpha 4,574 11/11/2022
1.0.5001-alpha 2,305 3/15/2022
1.0.4748-alpha 16,119 9/9/2021
1.0.4617-alpha 1,718 6/11/2021
0.84.4 504 11/16/2024
0.83.4713 1,087,474 9/7/2021
0.82.4684 8,044 8/30/2021
0.82.4659 37,094 6/17/2021
0.81.4483 172,090 12/14/2020
0.80.4377 51,824 10/1/2020
0.79.4216 122,664 5/13/2020
0.78.4205 5,872 5/11/2020
0.77.4077 93,761 12/10/2019
0.76.4014 33,937 10/19/2019
0.75.3970 12,419 9/12/2019
0.74.3948 24,053 7/1/2019
0.73.3933 9,515 6/11/2019
0.72.3914 11,670 5/28/2019
0.71.3834 14,909 4/17/2019
0.70.3824 6,916 4/11/2019
0.69.3772 17,196 2/12/2019
0.68.3728 46,043 12/3/2018
0.67.3697 12,902 10/14/2018
0.66.3673 8,645 9/28/2018
0.65.3664 10,655 9/22/2018
0.64.3598 10,277 8/27/2018
0.63.3581 9,177 8/7/2018
0.62.3569 35,225 7/5/2018
0.61.3524 6,501 6/26/2018
0.60.3490 5,390 6/18/2018
0.59.3396 6,118 5/23/2018
0.58.3377 5,148 5/13/2018
0.57.3359 5,867 4/30/2018
0.56.3328 4,584 4/24/2018
0.55.3323 4,737 4/24/2018
0.54.3261 6,127 2/25/2018
0.53.3204 4,647 1/25/2018
0.52.3178 5,358 11/2/2017
0.51.3155 4,219 10/25/2017
0.50.3124 4,305 10/21/2017
0.49.3031 6,860 9/7/2017
0.48.2937 5,445 7/11/2017
0.47.2894 4,950 6/28/2017
0.46.2886 7,846 5/29/2017
0.45.2877 4,374 5/28/2017
0.44.2832 4,206 5/12/2017
0.43.2806 2,355 5/5/2017
0.42.2755 5,048 5/2/2017
0.41.2727 4,929 4/27/2017
0.40.2590 8,135 3/30/2017
0.39.2553 5,183 1/16/2017
0.38.2454 5,043 12/2/2016
0.37.2424 5,246 11/8/2016
0.36.2315 6,215 10/18/2016
0.35.2247 5,121 9/6/2016
0.34.2221 4,894 8/23/2016
0.33.2190 4,652 8/16/2016
0.32.2163 4,812 7/4/2016
0.31.2106 4,635 6/30/2016
0.30.2019 4,979 6/16/2016
0.29.1973 6,395 4/19/2016
0.28.1852 4,702 4/5/2016
0.27.1765 8,032 2/25/2016
0.26.1714 4,680 2/20/2016
0.25.1695 3,987 2/15/2016
0.24.1563 4,362 1/25/2016
0.23.1470 5,010 12/5/2015
0.22.1393 4,888 11/19/2015
0.21.1312 4,142 10/26/2015
0.20.1274 3,945 10/22/2015
0.19.1225 3,855 10/19/2015
0.18.1181 4,214 10/7/2015
0.17.1134 4,092 9/28/2015
0.16.1120 3,991 9/27/2015
0.15.1057 4,087 9/24/2015
0.14.1051 4,033 9/23/2015
0.13.962 4,011 9/13/2015
0.12.891 3,794 9/4/2015
0.11.751 3,763 8/24/2015
0.10.642 3,539 8/17/2015
0.9.580 3,611 7/20/2015
0.8.560 3,425 5/29/2015
0.7.481 3,414 5/22/2015
0.6.456 3,249 5/18/2015
0.5.390 3,427 5/8/2015
0.4.353 3,297 5/5/2015
0.3.292 3,868 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