Table of Contents

Struct SqliteDatabaseFactoryOptions

Namespace
LfrlAnvil.Sqlite
Assembly
LfrlAnvil.Sqlite.dll

Represents available options for creating SQLite database objects through SqliteDatabaseFactory.

public readonly struct SqliteDatabaseFactoryOptions
Inherited Members

Fields

BaseNodeInterpretersCreator

Default creator of SqliteNodeInterpreterFactory instances.

public static readonly SqlNodeInterpreterFactoryCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider, SqliteNodeInterpreterFactory> BaseNodeInterpretersCreator

Field Value

SqlNodeInterpreterFactoryCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider, SqliteNodeInterpreterFactory>

BaseTypeDefinitionsCreator

Default creator of SqliteColumnTypeDefinitionProvider instances.

public static readonly SqlColumnTypeDefinitionProviderCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider> BaseTypeDefinitionsCreator

Field Value

SqlColumnTypeDefinitionProviderCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider>

Default

Represents default options.

public static readonly SqliteDatabaseFactoryOptions Default

Field Value

SqliteDatabaseFactoryOptions

Properties

AreForeignKeyChecksDisabled

Specifies whether foreign key checks are disabled.

public bool AreForeignKeyChecksDisabled { get; }

Property Value

bool

Remarks

Foreign key constraint validity is checked in Commit mode only, after all pending SQL statements of a single ISqlDatabaseVersion have been applied but before the DB transaction is committed. During the check, the PRAGMA foreign_key_check(TABLE_NAME) statement is ran for each SqliteTableBuilder instance that has been marked as created or modified.

DefaultNamesCreator

Specifies the creator of SqlDefaultObjectNameProvider instances.

public SqlDefaultObjectNameProviderCreator<SqlDefaultObjectNameProvider> DefaultNamesCreator { get; }

Property Value

SqlDefaultObjectNameProviderCreator<SqlDefaultObjectNameProvider>

Encoding

Specifies optional SqliteDatabaseEncoding of created databases.

public SqliteDatabaseEncoding? Encoding { get; }

Property Value

SqliteDatabaseEncoding?

IsConnectionPermanent

Specifies whether the DB connection should stay permanently connected.

public bool IsConnectionPermanent { get; }

Property Value

bool

Remarks

Enabling this option will cause the normal disposal of the SqliteConnection instance associated with the Connector to do nothing. The connection will be closed and disposed only when the whole SqliteDatabase instance is disposed.

NodeInterpretersCreator

Specifies the creator of SqliteNodeInterpreterFactory instances.

public SqlNodeInterpreterFactoryCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider, SqliteNodeInterpreterFactory> NodeInterpretersCreator { get; }

Property Value

SqlNodeInterpreterFactoryCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider, SqliteNodeInterpreterFactory>

TypeDefinitionsCreator

Specifies the creator of SqliteColumnTypeDefinitionProvider instances.

public SqlColumnTypeDefinitionProviderCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider> TypeDefinitionsCreator { get; }

Property Value

SqlColumnTypeDefinitionProviderCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider>

Methods

EnableConnectionPermanence(bool)

Creates a new SqliteDatabaseFactoryOptions instance with changed IsConnectionPermanent.

[Pure]
public SqliteDatabaseFactoryOptions EnableConnectionPermanence(bool enabled = true)

Parameters

enabled bool

Value to set. Equal to true by default.

Returns

SqliteDatabaseFactoryOptions

New SqliteDatabaseFactoryOptions instance.

EnableForeignKeyChecks(bool)

Creates a new SqliteDatabaseFactoryOptions instance with changed AreForeignKeyChecksDisabled.

[Pure]
public SqliteDatabaseFactoryOptions EnableForeignKeyChecks(bool enabled = true)

Parameters

enabled bool

Value to set. Equal to true by default.

Returns

SqliteDatabaseFactoryOptions

New SqliteDatabaseFactoryOptions instance.

SetDefaultNamesCreator(SqlDefaultObjectNameProviderCreator<SqlDefaultObjectNameProvider>?)

Creates a new SqliteDatabaseFactoryOptions instance with changed DefaultNamesCreator.

[Pure]
public SqliteDatabaseFactoryOptions SetDefaultNamesCreator(SqlDefaultObjectNameProviderCreator<SqlDefaultObjectNameProvider>? creator)

Parameters

creator SqlDefaultObjectNameProviderCreator<SqlDefaultObjectNameProvider>

Value to set.

Returns

SqliteDatabaseFactoryOptions

New SqliteDatabaseFactoryOptions instance.

SetEncoding(SqliteDatabaseEncoding?)

Creates a new SqliteDatabaseFactoryOptions instance with changed Encoding.

[Pure]
public SqliteDatabaseFactoryOptions SetEncoding(SqliteDatabaseEncoding? value)

Parameters

value SqliteDatabaseEncoding?

Value to set. Equal to true by default.

Returns

SqliteDatabaseFactoryOptions

New SqliteDatabaseFactoryOptions instance.

SetNodeInterpretersCreator(SqlNodeInterpreterFactoryCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider, SqliteNodeInterpreterFactory>?)

Creates a new SqliteDatabaseFactoryOptions instance with changed NodeInterpretersCreator.

[Pure]
public SqliteDatabaseFactoryOptions SetNodeInterpretersCreator(SqlNodeInterpreterFactoryCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider, SqliteNodeInterpreterFactory>? creator)

Parameters

creator SqlNodeInterpreterFactoryCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider, SqliteNodeInterpreterFactory>

Value to set.

Returns

SqliteDatabaseFactoryOptions

New SqliteDatabaseFactoryOptions instance.

SetTypeDefinitionsCreator(SqlColumnTypeDefinitionProviderCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider>?)

Creates a new SqliteDatabaseFactoryOptions instance with changed TypeDefinitionsCreator.

[Pure]
public SqliteDatabaseFactoryOptions SetTypeDefinitionsCreator(SqlColumnTypeDefinitionProviderCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider>? creator)

Parameters

creator SqlColumnTypeDefinitionProviderCreator<SqliteDataTypeProvider, SqliteColumnTypeDefinitionProvider>

Value to set.

Returns

SqliteDatabaseFactoryOptions

New SqliteDatabaseFactoryOptions instance.