Interface IKeyBuilder<TEvent, TBuilder>
- Namespace
- Cratis.Chronicle.Projections
- Assembly
- Cratis.Chronicle.dll
Defines a builder for keys.
public interface IKeyBuilder<TEvent, TBuilder>
Type Parameters
TEventEvent to build for.
TBuilderType of actual builder.
Methods
UsingCompositeKey<TKeyType>(Action<ICompositeKeyBuilder<TKeyType, TEvent>>)
Define what key to use based on a composite of expressions.
TBuilder UsingCompositeKey<TKeyType>(Action<ICompositeKeyBuilder<TKeyType, TEvent>> builderCallback)
Parameters
builderCallbackAction<ICompositeKeyBuilder<TKeyType, TEvent>>Builder callback for building the composite key.
Returns
- TBuilder
Builder continuation.
Type Parameters
TKeyTypeType of key.
UsingConstantKey(string)
Define a constant value to use as the key. All events of this type will update the same read model instance.
TBuilder UsingConstantKey(string value)
Parameters
valuestringThe constant value to use as key.
Returns
- TBuilder
Builder continuation.
UsingKeyFromContext<TProperty>(Expression<Func<EventContext, TProperty>>)
Define what key to use based on a value in the EventContext.
TBuilder UsingKeyFromContext<TProperty>(Expression<Func<EventContext, TProperty>> keyAccessor)
Parameters
keyAccessorExpression<Func<EventContext, TProperty>>Accessor for the property within EventContext to use.
Returns
- TBuilder
Builder continuation.
Type Parameters
TPropertyType of the property.
UsingKey<TProperty>(Expression<Func<TEvent, TProperty>>)
Define what key to use. This is optional, if not set - it will default to using the event source identifier on the event.
TBuilder UsingKey<TProperty>(Expression<Func<TEvent, TProperty>> keyAccessor)
Parameters
keyAccessorExpression<Func<TEvent, TProperty>>Accessor for the property to use.
Returns
- TBuilder
Builder continuation.
Type Parameters
TPropertyType of the property.