Table of Contents

Namespace Cratis.Chronicle.Events.Migrations

Classes

EventMigrationBuilder

Represents an implementation of IEventMigrationBuilder.

EventMigrationBuilderFor<TTarget, TSource>

Represents an implementation of IEventMigrationBuilder<TTarget, TSource> that delegates to the underlying IEventMigrationBuilder.

EventMigrationPropertyBuilder

Represents an implementation of IEventMigrationPropertyBuilder.

EventMigrationPropertyBuilderFor<TTarget, TSource>

Represents an implementation of IEventMigrationPropertyBuilder<TTarget, TSource> that converts expression-based property accessors to PropertyName values and delegates to the underlying IEventMigrationPropertyBuilder.

EventTypeMigration<TUpgrade, TPrevious>

Abstract base class for type-safe event type migrations between two generations. Extracts From and To from the EventTypeAttribute on TUpgrade and TPrevious, and validates that the upgrade generation is exactly one more than the previous generation.

EventTypeMigrators

Represents an implementation of IEventTypeMigrators.

InvalidMigrationGenerationGap

Exception thrown when the upgrade type's generation is not exactly one more than the previous type's generation.

PropertyExpression

Represents a property expression key produced by an IEventMigrationPropertyBuilder operation.

PropertyName

Represents the name of a property in an event type.

PropertySeparator

Represents the separator used when splitting a property value.

SplitPartIndex

Represents the zero-based index of the part to extract when splitting a property value.

Interfaces

IEventMigrationBuilder

Defines a builder for event migrations.

IEventMigrationBuilder<TTarget, TSource>

Defines a type-safe builder for event migrations between two event type generations.

IEventMigrationPropertyBuilder

Defines a builder for event migration property transformations.

IEventMigrationPropertyBuilder<TTarget, TSource>

Defines a type-safe builder for event migration property transformations using expressions.

IEventTypeMigration

Defines an event type migration.

IEventTypeMigrationFor<TEvent>

Defines a migrator for a specific event type.

IEventTypeMigrationFor<TUpgrade, TPrevious>

Defines a type-safe migrator between two generations of the same event type.

IEventTypeMigrators

Defines a system that discovers and provides event type migrators.