Table of Contents

Struct SqlCreateDatabaseResult<TDatabase>

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

Represents the result of an ISqlDatabase creation attempt.

public readonly struct SqlCreateDatabaseResult<TDatabase> where TDatabase : ISqlDatabase

Type Parameters

TDatabase

SQL database type.

Inherited Members

Constructors

SqlCreateDatabaseResult(TDatabase, Exception?, DatabaseComparisonResult, int)

Creates a new SqlCreateDatabaseResult<TDatabase> instance.

public SqlCreateDatabaseResult(TDatabase database, Exception? exception, SqlDatabaseVersionHistory.DatabaseComparisonResult versions, int appliedVersionCount)

Parameters

database TDatabase

Created SQL database.

exception Exception

Optional error that occurred during version application.

versions SqlDatabaseVersionHistory.DatabaseComparisonResult

Result of a comparison of previously applied versions to the desired versions.

appliedVersionCount int

Number of new versions successfully applied to the database.

Properties

CommittedVersions

Versions applied to the database during the creation of Database instance.

public ReadOnlySpan<ISqlDatabaseVersion> CommittedVersions { get; }

Property Value

ReadOnlySpan<ISqlDatabaseVersion>

Database

Created SQL database.

public TDatabase Database { get; }

Property Value

TDatabase

Exception

Optional error that occurred during version application.

public Exception? Exception { get; }

Property Value

Exception

NewVersion

New version of the database.

public Version NewVersion { get; }

Property Value

Version

OldVersion

Previous version of the database.

public Version OldVersion { get; }

Property Value

Version

OriginalVersions

Versions applied to the database before the creation of Database instance.

public ReadOnlySpan<ISqlDatabaseVersion> OriginalVersions { get; }

Property Value

ReadOnlySpan<ISqlDatabaseVersion>

PendingVersions

Versions that haven't been applied to the database yet.

public ReadOnlySpan<ISqlDatabaseVersion> PendingVersions { get; }

Property Value

ReadOnlySpan<ISqlDatabaseVersion>

Operators

implicit operator SqlCreateDatabaseResult<ISqlDatabase>(SqlCreateDatabaseResult<TDatabase>)

Converts the result to base ISqlDatabase type.

[Pure]
public static implicit operator SqlCreateDatabaseResult<ISqlDatabase>(SqlCreateDatabaseResult<TDatabase> result)

Parameters

result SqlCreateDatabaseResult<TDatabase>

Result to convert.

Returns

SqlCreateDatabaseResult<ISqlDatabase>

New SqlCreateDatabaseResult<TDatabase> instance.