es-entity 0.10.33

Event Sourcing Entity Framework
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
# Event Sourcing

Event sourcing is a software design pattern where state changes are stored as a sequence of events rather than as snapshots that get updated in place.

Instead of updating a database record directly, every change is recorded as an immutable event (e.g., UserCreated, EmailChanged, AccountDeactivated) which gets inserted as a row in a table.
The current state is rebuilt by replaying these events in order.

One thing to note is that in `es-entity` the events are scoped to a specific type of `Entity`.
Thus they are (by convention) not all written to the same global events table like in some Event Sourcing approaches.
Rather each `Entity`-type gets its own `events` table - though it is possible to use a global table if desired.
Further the events are strictly ordered on a per-entity basis - there are no ordering guarantees across `entities`.

This can be interpreted as the `Entity`-type representing a `topic` and the `EntityId` playing the role of the `PartitionKey` that exists in some pub-sub / event-store systems.