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
-
ProjectionBuilder<TModel, IProjectionBuilderFor<TModel>>ProjectionBuilderFor<TModel>
- Implements
-
IProjectionBuilderFor<TModel>IProjectionBuilder<TModel, IProjectionBuilderFor<TModel>>
- 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
ProjectionIdThe unique identifier for the projection.
modelNameResolver
IModelNameResolverThe IModelNameResolver to use for naming the models.
eventTypes
IEventTypesIEventTypes for providing event type information.
schemaGenerator
IJsonSchemaGeneratorIJsonSchemaGenerator for generating JSON schemas.
jsonSerializerOptions
JsonSerializerOptionsThe 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
EventSequenceIdEventSequenceId 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
stringName 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.