Table of Contents

Class KeyBuilder<TEvent, TBuilder>

Namespace
Cratis.Chronicle.Projections
Assembly
Cratis.Chronicle.dll

Represents a default implementation of IKeyBuilder<TEvent, TBuilder> that works with IEventValueExpression.

public class KeyBuilder<TEvent, TBuilder> : IKeyBuilder<TEvent, TBuilder> where TBuilder : class

Type Parameters

TEvent

Event to build for.

TBuilder

Type of actual builder.

Inheritance
KeyBuilder<TEvent, TBuilder>
Implements
IKeyBuilder<TEvent, TBuilder>
Derived
Inherited Members

Fields

_keyExpression

protected PropertyExpression _keyExpression

Field Value

PropertyExpression

Methods

UsingCompositeKey<TKeyType>(Action<ICompositeKeyBuilder<TKeyType, TEvent>>)

Define what key to use based on a composite of expressions.

public TBuilder UsingCompositeKey<TKeyType>(Action<ICompositeKeyBuilder<TKeyType, TEvent>> builderCallback)

Parameters

builderCallback Action<ICompositeKeyBuilder<TKeyType, TEvent>>

Builder callback for building the composite key.

Returns

TBuilder

Builder continuation.

Type Parameters

TKeyType

Type of key.

UsingKeyFromContext<TProperty>(Expression<Func<EventContext, TProperty>>)

Define what key to use based on a value in the EventContext.

public TBuilder UsingKeyFromContext<TProperty>(Expression<Func<EventContext, TProperty>> keyAccessor)

Parameters

keyAccessor Expression<Func<EventContext, TProperty>>

Accessor for the property within EventContext to use.

Returns

TBuilder

Builder continuation.

Type Parameters

TProperty

Type 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.

public TBuilder UsingKey<TProperty>(Expression<Func<TEvent, TProperty>> keyAccessor)

Parameters

keyAccessor Expression<Func<TEvent, TProperty>>

Accessor for the property to use.

Returns

TBuilder

Builder continuation.

Type Parameters

TProperty

Type of the property.