Namespace Cratis.Chronicle.Projections.ModelBound

Classes

AddFromAttribute<TEvent>

Attribute used to indicate that a property value should be added from an event property.

CannotClearNonNullableMember

The exception that is thrown when a clear is declared for a read model member that cannot hold null.

ChildrenFromAttribute<TEvent>

Attribute used to indicate that a property represents a collection of children from an event.

ClearWithAttribute<TEvent>

Attribute used to indicate which event clears (sets to null) a read model member.

CountAttribute<TEvent>

Attribute used to indicate that a property value should count occurrences of an event.

DecrementAttribute<TEvent>

Attribute used to indicate that a property value should be decremented when an event occurs.

EntersOnAttribute<TEvent>

Attribute used on a type decorated with VariantOfAttribute<TIdentity> to declare the event that activates (creates) this variant.

FromAllAttribute

Attribute that can be applied to a property to indicate it should be projected from all event types.

FromEventAttribute<TEvent>

Attribute used at class level to indicate that properties should be set from an event by convention.

FromEveryAttribute

Attribute used to indicate that a property value should be set from every event. Can either map from an event property or an event context property.

GlobalForAttribute<TIdentity>

Attribute used to declare event handlers once for every variant of TIdentity, rather than repeating them on each VariantOfAttribute<TIdentity> type.

GlobalHandlerPropertyNotOnVariant

The exception that is thrown when a GlobalForAttribute<TIdentity> handler maps a member that a variant of the same identity does not have.

IncrementAttribute<TEvent>

Attribute used to indicate that a property value should be incremented when an event occurs.

InvalidPropertyForType

The exception that is thrown when a property name does not exist on a type.

JoinAttribute<TEvent>

Attribute used to indicate that a property should be populated through a join with an event.

MissingChildIdentityForJoin

The exception that is thrown when a child join omits its target but the child has no identifying property.

ModelBoundProjectionsExtensions

Extension methods for model-bound projections.

NestedAttribute

Attribute used to indicate that a single nullable property represents a nested projection object. The nested type should carry its own FromEventAttribute<TEvent> and optionally ClearWithAttribute<TEvent> attributes.

NoAutoMapProperties

Collects the properties a model excludes from auto-mapping.

NotProjectedAttribute

Attribute used to declare that a read model member is deliberately not populated by the projection, because whatever reads the model assembles it.

NotRewindableAttribute

Marks a projection as not rewindable - it's a moving forward only projection.

PropertyValidator

Provides validation for property names against types.

RemovedWithAttribute<TEvent>

Attribute used to indicate what event removes a read model or a child from a collection. When used on a class, it indicates the event that removes the read model instance. When used on a property or parameter, it indicates the event that removes a child from a collection.

RemovedWithJoinAttribute<TEvent>

Attribute used to indicate what event removes a read model or a child from a collection through a join. When used on a class, it indicates the event that removes the read model instance through a join. When used on a property or parameter, it indicates the event that removes a child from a collection through a join.

SetFromAttribute<TEvent>

Attribute used to indicate that a property value should be set from an event property.

SetFromContextAttribute<TEvent>

Attribute used to indicate that a property value should be set from an event context property.

SetValueAttribute<TEvent>

Attribute used to indicate that a property should be set to a constant value when an event of the specified type occurs.

SubtractFromAttribute<TEvent>

Attribute used to indicate that a property value should be subtracted from an event property.

VariantOfAttribute<TIdentity>

Attribute used to indicate that a read model is one of several mutually exclusive representations of the same logical entity. Every type marked with this attribute for the same TIdentity forms a group: entering one variant (see EntersOnAttribute<TEvent>) removes the entity from every other variant in the group.

Interfaces

IAddFromAttribute

Defines an attribute that indicates that a property value should be added from an event property.

ICanMapToEventProperty

Defines an attribute that can map to an event property.

IChildrenFromAttribute

Defines an attribute that indicates that a collection property is populated from child events.

IClearWithAttribute

Defines an attribute that indicates what event clears (nulls) a nested single-object property.

ICountAttribute

Defines an attribute that indicates that a property value should count occurrences of an event.

IDecrementAttribute

Defines an attribute that indicates that a property value should be decremented when an event occurs.

IEventBoundAttribute

Defines an attribute that is bound to a specific event type.

IFromEventAttribute

Defines an attribute that indicates that a read model or property is populated from an event.

IIncrementAttribute

Defines an attribute that indicates that a property value should be incremented when an event occurs.

IJoinAttribute

Defines an attribute that indicates a property should be populated through a join with an event.

IKeyedAttribute

Defines an attribute that has a key property.

INestedAttribute

Defines an attribute that indicates a single nullable property represents a nested projection object.

IProjectionAnnotation

Marker interface for projection annotation attributes.

IRemovedWithAttribute

Defines an attribute that indicates what event removes a child from a collection.

IRemovedWithJoinAttribute

Defines an attribute that indicates what event removes a child from a collection through a join.

ISetFromAttribute

Defines an attribute that indicates that a property value should be set from an event property.

ISetFromContextAttribute

Defines an attribute that indicates that a property value should be set from an event context property.

ISetValueAttribute

Defines an attribute that indicates a property should be set to a constant value when an event occurs.

ISubtractFromAttribute

Defines an attribute that indicates that a property value should be subtracted from an event property.