Table of Contents

Namespace eQuantic.Core.Data.Migration

Classes

AddFieldOperation

Adds the column/field for an entity member to an existing table (document stores gain fields on write).

AppliedMigration

A migration that has been applied, as recorded in the IMigrationHistory.

ConvertFieldOperation

Converts a field's stored type (schema/type evolution) across existing documents.

DropFieldOperation

Drops a stored column/field by its stored name (the CLR member is usually already gone).

EnsureCollectionOperation

Ensures the collection/container for the entity exists.

EnsureIndexOperation

Ensures an index (single-key or composite) exists.

FieldSet

A single assignment applied by an UpdateOperation.

IndexKey

A single key of an index: a typed member selector and its direction.

Migration

The base class a migration derives from. Mark it with MigrationAttribute and declare the work fluently in Up(IMigrationBuilder); the IMigrationRunner discovers it, orders it by timestamp, and applies the pending ones through the provider's IMigrationExecutor.

MigrationAttribute

Marks a class as a data migration and records its title and timestamp.

MigrationBuilder

The default recording IMigrationBuilder: the fluent calls simply capture MigrationOperations, which a provider's IMigrationExecutor later applies.

MigrationOperation

A single, provider-agnostic operation declared by a Migration through the fluent IMigrationBuilder. A provider's IMigrationExecutor knows how to apply it.

RenameFieldOperation

Renames a field across existing documents.

RunOperation

An arbitrary escape-hatch operation with direct access to the provider's execution context.

UpdateOperation

Applies a set of field assignments to the documents matching a predicate (a data migration).

Interfaces

ICollectionMigration<TEntity>

Fluent, typed operations against a single entity's collection/container.

IIndexKeyBuilder<TEntity>

Builds the ordered keys of a composite index with typed selectors.

IIndexOptions<TEntity>

Fluent options for a single-key index — providers reject the ones they cannot build, with guidance.

IMigrationBuilder

The fluent, typed surface a Migration declares its work through — no query strings, no field-name literals. Every operation is recorded and later applied by a provider's IMigrationExecutor.

IMigrationExecutionContext

The provider-specific context handed to a RunOperation escape hatch. Providers expose their native handle on it (e.g. the MongoDB database) through their own extension.

IMigrationExecutor

Applies the provider-agnostic MigrationOperations declared by a migration to the underlying store (creating collections/containers and indexes, converting and renaming fields, running data updates).

IMigrationHistory

Tracks which migrations have already been applied, so the IMigrationRunner never applies one twice. A provider implements it over its own store (e.g. a dedicated MongoDB collection or Cosmos container), which also makes migration state visible and queryable.

IMigrationRunner

Discovers the Migration types marked with MigrationAttribute, orders them by their timestamp, skips the ones already recorded in the IMigrationHistory, applies the rest in order (recording each as it succeeds) and reports how many ran.

IUpdateBuilder<TEntity>

Builds the assignments of an Update(Expression<Func<TEntity, bool>>, Action<IUpdateBuilder<TEntity>>) with typed selectors.

Enums

IndexMethod

A specialized index structure a provider may support.

MigrationFieldType

A provider-agnostic stored field type, used to describe a type/schema evolution.