Interface IAggregateRootStateProvider<TState>
- Namespace
- Cratis.Chronicle.Aggregates
- Assembly
- Cratis.Chronicle.dll
Defines a system that can manage state for an AggregateRoot.
public interface IAggregateRootStateProvider<TState>
Type Parameters
TState
Type of state to manage.
Methods
Dehydrate()
Dehydrate any state.
Task Dehydrate()
Returns
- Task
Awaitable task.
Provide()
Handle state for an AggregateRoot.
Task<TState?> Provide()
Returns
- Task<TState>
State provided.
Update(TState?, IEnumerable<object>)
Update the state of an AggregateRoot with events.
Task<TState?> Update(TState? initialState, IEnumerable<object> events)
Parameters
initialState
TStateThe initial state to update from.
events
IEnumerable<object>The events to update with.
Returns
- Task<TState>
Updated state.