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
AspNetCore support for EventFlow |
|
EventFlow.Sql
# 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.DependencyInjection
Microsoft.Extensions.DependencyInjection support for EventFlow |
|
EventFlow.Elasticsearch
Elasticsearch support for EventFlow |
|
EventFlow.MongoDB
# 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 | 1,071 | 5/23/2024 |
1.0.5003-alpha | 10,177 | 6/21/2023 |
1.0.5002-alpha | 3,994 | 11/11/2022 |
1.0.5001-alpha | 2,274 | 3/15/2022 |
1.0.4748-alpha | 15,621 | 9/9/2021 |
1.0.4617-alpha | 1,681 | 6/11/2021 |
0.83.4713 | 1,038,878 | 9/7/2021 |
0.82.4684 | 7,959 | 8/30/2021 |
0.82.4659 | 36,337 | 6/17/2021 |
0.81.4483 | 167,434 | 12/14/2020 |
0.80.4377 | 51,260 | 10/1/2020 |
0.79.4216 | 121,382 | 5/13/2020 |
0.78.4205 | 5,764 | 5/11/2020 |
0.77.4077 | 93,576 | 12/10/2019 |
0.76.4014 | 33,814 | 10/19/2019 |
0.75.3970 | 12,371 | 9/12/2019 |
0.74.3948 | 23,922 | 7/1/2019 |
0.73.3933 | 9,441 | 6/11/2019 |
0.72.3914 | 11,589 | 5/28/2019 |
0.71.3834 | 14,841 | 4/17/2019 |
0.70.3824 | 6,824 | 4/11/2019 |
0.69.3772 | 17,126 | 2/12/2019 |
0.68.3728 | 45,968 | 12/3/2018 |
0.67.3697 | 12,815 | 10/14/2018 |
0.66.3673 | 8,579 | 9/28/2018 |
0.65.3664 | 10,564 | 9/22/2018 |
0.64.3598 | 10,206 | 8/27/2018 |
0.63.3581 | 9,093 | 8/7/2018 |
0.62.3569 | 35,132 | 7/5/2018 |
0.61.3524 | 6,402 | 6/26/2018 |
0.60.3490 | 5,334 | 6/18/2018 |
0.59.3396 | 6,049 | 5/23/2018 |
0.58.3377 | 5,081 | 5/13/2018 |
0.57.3359 | 5,807 | 4/30/2018 |
0.56.3328 | 4,543 | 4/24/2018 |
0.55.3323 | 4,698 | 4/24/2018 |
0.54.3261 | 6,079 | 2/25/2018 |
0.53.3204 | 4,612 | 1/25/2018 |
0.52.3178 | 5,342 | 11/2/2017 |
0.51.3155 | 4,197 | 10/25/2017 |
0.50.3124 | 4,274 | 10/21/2017 |
0.49.3031 | 6,836 | 9/7/2017 |
0.48.2937 | 5,416 | 7/11/2017 |
0.47.2894 | 4,890 | 6/28/2017 |
0.46.2886 | 7,810 | 5/29/2017 |
0.45.2877 | 4,351 | 5/28/2017 |
0.44.2832 | 4,189 | 5/12/2017 |
0.43.2806 | 2,347 | 5/5/2017 |
0.42.2755 | 5,014 | 5/2/2017 |
0.41.2727 | 4,886 | 4/27/2017 |
0.40.2590 | 8,111 | 3/30/2017 |
0.39.2553 | 5,149 | 1/16/2017 |
0.38.2454 | 4,999 | 12/2/2016 |
0.37.2424 | 5,180 | 11/8/2016 |
0.36.2315 | 6,190 | 10/18/2016 |
0.35.2247 | 5,088 | 9/6/2016 |
0.34.2221 | 4,858 | 8/23/2016 |
0.33.2190 | 4,628 | 8/16/2016 |
0.32.2163 | 4,789 | 7/4/2016 |
0.31.2106 | 4,592 | 6/30/2016 |
0.30.2019 | 4,947 | 6/16/2016 |
0.29.1973 | 6,362 | 4/19/2016 |
0.28.1852 | 4,666 | 4/5/2016 |
0.27.1765 | 8,004 | 2/25/2016 |
0.26.1714 | 4,623 | 2/20/2016 |
0.25.1695 | 3,962 | 2/15/2016 |
0.24.1563 | 4,333 | 1/25/2016 |
0.23.1470 | 4,986 | 12/5/2015 |
0.22.1393 | 4,833 | 11/19/2015 |
0.21.1312 | 4,082 | 10/26/2015 |
0.20.1274 | 3,896 | 10/22/2015 |
0.19.1225 | 3,829 | 10/19/2015 |
0.18.1181 | 4,188 | 10/7/2015 |
0.17.1134 | 4,051 | 9/28/2015 |
0.16.1120 | 3,959 | 9/27/2015 |
0.15.1057 | 4,029 | 9/24/2015 |
0.14.1051 | 3,996 | 9/23/2015 |
0.13.962 | 3,971 | 9/13/2015 |
0.12.891 | 3,773 | 9/4/2015 |
0.11.751 | 3,739 | 8/24/2015 |
0.10.642 | 3,509 | 8/17/2015 |
0.9.580 | 3,596 | 7/20/2015 |
0.8.560 | 3,407 | 5/29/2015 |
0.7.481 | 3,379 | 5/22/2015 |
0.6.456 | 3,235 | 5/18/2015 |
0.5.390 | 3,399 | 5/8/2015 |
0.4.353 | 3,276 | 5/5/2015 |
0.3.292 | 3,776 | 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