Class SqliteDatabaseFactory
Represents a factory of SQL databases.
public sealed class SqliteDatabaseFactory : SqlDatabaseFactory<SqliteDatabase>, ISqlDatabaseFactory
- Inheritance
-
SqliteDatabaseFactory
- Implements
- Inherited Members
Remarks
SqliteDialect implementation.
Constructors
SqliteDatabaseFactory(SqliteDatabaseFactoryOptions?)
Creates a new SqliteDatabaseFactory instance.
public SqliteDatabaseFactory(SqliteDatabaseFactoryOptions? options = null)
Parameters
optionsSqliteDatabaseFactoryOptions?Optional SqliteDatabaseFactoryOptions. Equal to Default by default.
Properties
Options
SqliteDatabaseFactoryOptions instance associated with this factory that contains DB creation options.
public SqliteDatabaseFactoryOptions Options { get; }
Property Value
Methods
CreateCommitVersionsContext(SqlParameterBinderFactory, SqlCreateDatabaseOptions)
Creates a new SqlDatabaseCommitVersionsContext instance, used for managing application of versions to the database.
protected override SqlDatabaseCommitVersionsContext CreateCommitVersionsContext(SqlParameterBinderFactory parameterBinders, SqlCreateDatabaseOptions options)
Parameters
parameterBindersSqlParameterBinderFactoryParameter binder factory.
optionsSqlCreateDatabaseOptionsDB creation options.
Returns
CreateConnection(DbConnectionStringBuilder)
Creates a new unopened DbConnection instance.
[Pure]
protected override SqliteConnection CreateConnection(DbConnectionStringBuilder connectionString)
Parameters
connectionStringDbConnectionStringBuilderConnection string builder.
Returns
- SqliteConnection
New DbConnection instance.
CreateConnectionStringBuilder(string)
Creates a new DbConnectionStringBuilder instance.
[Pure]
protected override SqliteConnectionStringBuilder CreateConnectionStringBuilder(string connectionString)
Parameters
connectionStringstringConnection string.
Returns
- SqliteConnectionStringBuilder
New DbConnectionStringBuilder instance.
CreateDatabase(SqlDatabaseBuilder, DbConnectionStringBuilder, DbConnection, DbConnectionEventHandler, SqlQueryReaderExecutor<SqlDatabaseVersionRecord>, Version)
Creates a new SqlDatabase instance.
protected override SqliteDatabase CreateDatabase(SqlDatabaseBuilder builder, DbConnectionStringBuilder connectionString, DbConnection connection, DbConnectionEventHandler eventHandler, SqlQueryReaderExecutor<SqlDatabaseVersionRecord> versionHistoryRecordsQuery, Version version)
Parameters
builderSqlDatabaseBuilderSource database builder.
connectionStringDbConnectionStringBuilderConnection string builder.
connectionDbConnectionOpened connection to the database.
eventHandlerDbConnectionEventHandlerCollection of SqlDatabaseConnectionChangeEvent callbacks.
versionHistoryRecordsQuerySqlQueryReaderExecutor<SqlDatabaseVersionRecord>Query reader's executor capable of reading metadata of all versions applied to the database.
versionVersionCurrent version of the database.
Returns
- SqliteDatabase
New SqlDatabase instance.
CreateDatabaseBuilder(string, DbConnection)
Creates a new SqlDatabaseBuilder instance.
[Pure]
protected override SqliteDatabaseBuilder CreateDatabaseBuilder(string defaultSchemaName, DbConnection connection)
Parameters
defaultSchemaNamestringInitial name of the Default schema. Version history table will belong to this schema.
connectionDbConnectionOpened connection to the database.
Returns
- SqliteDatabaseBuilder
New SqlDatabaseBuilder instance.
GetChangeTrackerAttachmentForVersionHistoryTableInit(SqlDatabaseChangeTracker, SqlSchemaObjectName, SqlNodeInterpreter, DbConnection, ref SqlDatabaseFactoryStatementExecutor)
Checks whether the version history table should be attached as a change from which an SQL statement should be created and executed.
protected override bool GetChangeTrackerAttachmentForVersionHistoryTableInit(SqlDatabaseChangeTracker changeTracker, SqlSchemaObjectName versionHistoryTableName, SqlNodeInterpreter nodeInterpreter, DbConnection connection, ref SqlDatabaseFactoryStatementExecutor executor)
Parameters
changeTrackerSqlDatabaseChangeTrackerDatabase builder's change tracker.
versionHistoryTableNameSqlSchemaObjectNameName of the version history table.
nodeInterpreterSqlNodeInterpreterSqlNodeInterpreter instance.
connectionDbConnectionOpened connection to the database.
executorSqlDatabaseFactoryStatementExecutorDecorator for executing SQL statements on the database.
Returns
- bool
true when version history table should be created in the database, otherwise false.
Remarks
This method can also be used for registering other common database objects.
GetDefaultVersionHistoryName()
Creates a new SqlSchemaObjectName instance that represents default version history table name.
[Pure]
protected override SqlSchemaObjectName GetDefaultVersionHistoryName()
Returns
- SqlSchemaObjectName
New SqlSchemaObjectName instance.
OnUncaughtException(Exception, DbConnection)
Allows to react to an unexpected exception.
protected override void OnUncaughtException(Exception exception, DbConnection connection)
Parameters
exceptionExceptionThrown exception.
connectionDbConnectionOpened connection to the database.