EventFlow 0.12.891
Prefix ReservedSee the version list below for details.
dotnet add package EventFlow --version 0.12.891
NuGet\Install-Package EventFlow -Version 0.12.891
<PackageReference Include="EventFlow" Version="0.12.891" />
paket add EventFlow --version 0.12.891
#r "nuget: EventFlow, 0.12.891"
// 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 | Versions 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. |
-
- Newtonsoft.Json (>= 7.0.1)
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