Shuttle.Recall
13.1.0
Prefix Reserved
See the version list below for details.
dotnet add package Shuttle.Recall --version 13.1.0
NuGet\Install-Package Shuttle.Recall -Version 13.1.0
<PackageReference Include="Shuttle.Recall" Version="13.1.0" />
paket add Shuttle.Recall --version 13.1.0
#r "nuget: Shuttle.Recall, 13.1.0"
// Install Shuttle.Recall as a Cake Addin
#addin nuget:?package=Shuttle.Recall&version=13.1.0
// Install Shuttle.Recall as a Cake Tool
#tool nuget:?package=Shuttle.Recall&version=13.1.0
Shuttle.Recall
A .Net event-sourcing mechanism.
Documentation
If you would like to give Shuttle.Recall
a spin you can head over to our documentation site.
Event Sourcing
For some background you can have a look at the following:
The basic premise of event sourcing is that we do not store only the latest state of a particular object but rather rebuild the state of the objects by applying each state change in the same sequence that the change occurred.
This is quite a departure from what one typically learns about storing data. However, let's use the example of a financial account. Each time we transact using an account the balance of the account changes. However, we do not simply store only the balance. We also store each transaction and the amount. This means that we could "lose" the balance on an account but we would be able to determine the current balance by applying all the transactions to the balance in the order that they occurred.
It is rather odd that we are quite happy with our traditional data storage for our everyday objects such as Customer
, Employee
, and Address
where we simply store the current/latest state but we would never consider not storing the transactions when it comes to an account. Accounting is a very established discipline and this is one of those cases where they got it spot on.
Even souring effectively does the same thing by storing all changes as a series of events. However, it is not possible to get an overview of the state of the object by querying the events in the same way as we have no idea what the balance is at a particular point by simply querying some account transactions.
CQRS != Event Sourcing
Command/Query Responsibility Segregation relates to explicitly separating the command side of things (transactional / OLTP) from the querying (read / reporting / OLAP) side of things. This, in no way, implies that event sourcing is a requirement in order to implement CQRS, though. However, when implementing event sourcing you are definitely going to be implementing CQRS.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
- Shuttle.Core.Compression (>= 10.0.4)
- Shuttle.Core.Container (>= 12.0.1)
- Shuttle.Core.Contract (>= 10.0.3)
- Shuttle.Core.Encryption (>= 10.0.3)
- Shuttle.Core.Pipelines (>= 11.0.0)
- Shuttle.Core.PipelineTransaction (>= 10.0.4)
- Shuttle.Core.Reflection (>= 11.0.3)
- Shuttle.Core.Serialization (>= 10.0.5)
- Shuttle.Core.Specification (>= 10.0.3)
- Shuttle.Core.Streams (>= 10.0.3)
- Shuttle.Core.Threading (>= 11.1.1)
- Shuttle.Core.TimeSpanTypeConverters (>= 10.0.2)
- System.Configuration.ConfigurationManager (>= 6.0.0)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Shuttle.Recall:
Package | Downloads |
---|---|
Shuttle.Recall.Sql.Storage
Sql-based implementation of the event store Shuttle.Recall persistence interfaces. |
|
Shuttle.Esb.Process
Shuttle.Esb process management using Shuttle.Recall event sourcing. |
|
Shuttle.Recall.Tests
Tests to exercise Shuttle.Recall component implementations. |
|
Shuttle.Recall.Sql.EventProcessing
Sql-based implementation of the event store Shuttle.Recall projection interfaces. |
|
Shuttle.Access.Sql
Provides Sql-based implementation of data access components for use with Shuttle.Access implementations. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
17.0.1 | 131 | 5/3/2024 |
17.0.0 | 230 | 4/30/2024 |
16.1.1 | 3,521 | 12/1/2022 |
16.0.0 | 3,791 | 9/4/2022 |
14.0.0 | 2,812 | 5/29/2022 |
13.1.0 | 2,592 | 5/6/2022 |
13.0.1 | 4,156 | 4/9/2022 |
13.0.0 | 2,802 | 3/21/2022 |
12.0.5 | 499 | 1/22/2022 |
12.0.3 | 2,714 | 2/4/2021 |
12.0.2 | 1,019 | 1/17/2021 |
12.0.1 | 1,881 | 11/8/2020 |
11.1.0 | 1,414 | 9/1/2020 |
11.0.0 | 2,029 | 8/21/2019 |
10.2.1 | 3,773 | 5/27/2019 |
10.1.4 | 881 | 9/22/2018 |
10.1.3 | 2,887 | 9/16/2018 |
10.0.3 | 1,467 | 8/7/2018 |
10.0.2 | 1,042 | 7/8/2018 |
10.0.0 | 4,215 | 2/13/2018 |
8.2.2 | 2,931 | 8/6/2017 |
8.2.1 | 3,491 | 7/2/2017 |
8.1.3 | 2,476 | 7/1/2017 |
8.0.1 | 1,018 | 5/15/2017 |
8.0.0 | 2,279 | 3/24/2017 |
4.0.0 | 1,078 | 10/2/2016 |
3.6.2 | 2,265 | 6/4/2016 |
3.6.1 | 1,036 | 6/4/2016 |
3.6.0 | 1,045 | 5/18/2016 |
3.5.2 | 2,641 | 4/23/2016 |
3.5.1 | 2,925 | 3/23/2016 |