Table of Contents

Class SqlDatabaseChangeAggregator

Namespace
LfrlAnvil.Sql.Internal
Assembly
LfrlAnvil.Sql.Core.dll

Represents an aggregator of changes of a single altered SqlObjectBuilder instance.

public abstract class SqlDatabaseChangeAggregator
Inheritance
SqlDatabaseChangeAggregator
Inherited Members

Constructors

SqlDatabaseChangeAggregator(SqlDatabaseChangeTracker)

Creates a new SqlDatabaseChangeAggregator instance.

protected SqlDatabaseChangeAggregator(SqlDatabaseChangeTracker changes)

Parameters

changes SqlDatabaseChangeTracker

SqlDatabaseChangeTracker that this aggregator belongs to.

Properties

Changes

SqlDatabaseChangeTracker that this aggregator belongs to.

protected SqlDatabaseChangeTracker Changes { get; }

Property Value

SqlDatabaseChangeTracker

Methods

Add(SqlObjectBuilder, SqlObjectChangeDescriptor, object?)

Registers a new change.

public void Add(SqlObjectBuilder target, SqlObjectChangeDescriptor descriptor, object? originalValue)

Parameters

target SqlObjectBuilder

Created, removed or modified object.

descriptor SqlObjectChangeDescriptor

Change descriptor.

originalValue object

Original value before the change.

Clear()

Resets the state of this aggregator.

public abstract void Clear()

HandleCreation(SqlObjectBuilder)

Handler for a new object creation.

protected abstract void HandleCreation(SqlObjectBuilder obj)

Parameters

obj SqlObjectBuilder

Created object.

HandleModification(SqlObjectBuilder, SqlObjectChangeDescriptor, object?)

Handler for an object modification.

protected abstract void HandleModification(SqlObjectBuilder obj, SqlObjectChangeDescriptor descriptor, object? originalValue)

Parameters

obj SqlObjectBuilder

Modified object.

descriptor SqlObjectChangeDescriptor

Change descriptor.

originalValue object

Original value before the change.

HandleRemoval(SqlObjectBuilder)

Handler for an object removal.

protected abstract void HandleRemoval(SqlObjectBuilder obj)

Parameters

obj SqlObjectBuilder

Removed object.