Table of Contents

Class ProjectionBuilderFor<TModel>

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

/// Represents an implementation of IProjectionBuilderFor<TModel>.

public class ProjectionBuilderFor<TModel> : ProjectionBuilder<TModel, IProjectionBuilderFor<TModel>>, IProjectionBuilderFor<TModel>, IProjectionBuilder<TModel, IProjectionBuilderFor<TModel>>

Type Parameters

TModel

Type of model.

Inheritance
ProjectionBuilderFor<TModel>
Implements
Inherited Members

Constructors

ProjectionBuilderFor(ProjectionId, IModelNameResolver, IEventTypes, IJsonSchemaGenerator, JsonSerializerOptions)

Initializes a new instance of the ProjectionBuilderFor<TModel> class.

public ProjectionBuilderFor(ProjectionId identifier, IModelNameResolver modelNameResolver, IEventTypes eventTypes, IJsonSchemaGenerator schemaGenerator, JsonSerializerOptions jsonSerializerOptions)

Parameters

identifier ProjectionId

The unique identifier for the projection.

modelNameResolver IModelNameResolver

The IModelNameResolver to use for naming the models.

eventTypes IEventTypes

IEventTypes for providing event type information.

schemaGenerator IJsonSchemaGenerator

IJsonSchemaGenerator for generating JSON schemas.

jsonSerializerOptions JsonSerializerOptions

The JsonSerializerOptions to use for any JSON serialization.

Methods

FromEventSequence(EventSequenceId)

Specifies the EventSequenceId to use as source.

public IProjectionBuilderFor<TModel> FromEventSequence(EventSequenceId eventSequenceId)

Parameters

eventSequenceId EventSequenceId

EventSequenceId to use.

Returns

IProjectionBuilderFor<TModel>

Builder continuation.

ModelName(string)

Names the model - typically used by storage as name of storage unit (collection, table etc.)

public IProjectionBuilderFor<TModel> ModelName(string modelName)

Parameters

modelName string

Name of the model.

Returns

IProjectionBuilderFor<TModel>

Builder continuation.

NotRewindable()

Set the projection to not be rewindable - its a moving forward only projection.

public IProjectionBuilderFor<TModel> NotRewindable()

Returns

IProjectionBuilderFor<TModel>

Builder continuation.

Passive()

Set the projection not be active, meaning that it won't actively observe.

public IProjectionBuilderFor<TModel> Passive()

Returns

IProjectionBuilderFor<TModel>

Builder continuation.