Class MySqlDatabaseFactory
Represents a factory of SQL databases.
public sealed class MySqlDatabaseFactory : SqlDatabaseFactory<MySqlDatabase>, ISqlDatabaseFactory
- Inheritance
-
MySqlDatabaseFactory
- Implements
- Inherited Members
Remarks
MySqlDialect implementation.
Constructors
MySqlDatabaseFactory(MySqlDatabaseFactoryOptions?)
Creates a new MySqlDatabaseFactory instance.
public MySqlDatabaseFactory(MySqlDatabaseFactoryOptions? options = null)
Parameters
options
MySqlDatabaseFactoryOptions?Optional MySqlDatabaseFactoryOptions. Equal to Default by default.
Properties
Options
MySqlDatabaseFactoryOptions instance associated with this factory that contains DB creation options.
public MySqlDatabaseFactoryOptions 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
parameterBinders
SqlParameterBinderFactoryParameter binder factory.
options
SqlCreateDatabaseOptionsDB creation options.
Returns
CreateConnection(DbConnectionStringBuilder)
Creates a new unopened DbConnection instance.
[Pure]
protected override MySqlConnection CreateConnection(DbConnectionStringBuilder connectionString)
Parameters
connectionString
DbConnectionStringBuilderConnection string builder.
Returns
- MySqlConnection
New DbConnection instance.
CreateConnectionStringBuilder(string)
Creates a new DbConnectionStringBuilder instance.
[Pure]
protected override MySqlConnectionStringBuilder CreateConnectionStringBuilder(string connectionString)
Parameters
connectionString
stringConnection string.
Returns
- MySqlConnectionStringBuilder
New DbConnectionStringBuilder instance.
CreateDatabase(SqlDatabaseBuilder, DbConnectionStringBuilder, DbConnection, DbConnectionEventHandler, SqlQueryReaderExecutor<SqlDatabaseVersionRecord>, Version)
Creates a new SqlDatabase instance.
protected override MySqlDatabase CreateDatabase(SqlDatabaseBuilder builder, DbConnectionStringBuilder connectionString, DbConnection connection, DbConnectionEventHandler eventHandler, SqlQueryReaderExecutor<SqlDatabaseVersionRecord> versionHistoryRecordsQuery, Version version)
Parameters
builder
SqlDatabaseBuilderSource database builder.
connectionString
DbConnectionStringBuilderConnection string builder.
connection
DbConnectionOpened connection to the database.
eventHandler
DbConnectionEventHandlerCollection of SqlDatabaseConnectionChangeEvent callbacks.
versionHistoryRecordsQuery
SqlQueryReaderExecutor<SqlDatabaseVersionRecord>Query reader's executor capable of reading metadata of all versions applied to the database.
version
VersionCurrent version of the database.
Returns
- MySqlDatabase
New SqlDatabase instance.
CreateDatabaseBuilder(string, DbConnection)
Creates a new SqlDatabaseBuilder instance.
[Pure]
protected override MySqlDatabaseBuilder CreateDatabaseBuilder(string defaultSchemaName, DbConnection connection)
Parameters
defaultSchemaName
stringInitial name of the Default schema. Version history table will belong to this schema.
connection
DbConnectionOpened connection to the database.
Returns
- MySqlDatabaseBuilder
New SqlDatabaseBuilder instance.
GetChangeTrackerAttachmentForVersionHistoryTableInit(SqlDatabaseChangeTracker, SqlSchemaObjectName, SqlNodeInterpreter, DbConnection, ref SqlDatabaseFactoryStatementExecutor)
Checks whether or not 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
changeTracker
SqlDatabaseChangeTrackerDatabase builder's change tracker.
versionHistoryTableName
SqlSchemaObjectNameName of the version history table.
nodeInterpreter
SqlNodeInterpreterSqlNodeInterpreter instance.
connection
DbConnectionOpened connection to the database.
executor
SqlDatabaseFactoryStatementExecutorDecorator 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.
GetVersionHistoryRecordsQueryDelegate(SqlQueryReaderFactory)
Creates a delegate capable of reading metadata of all versions applied to this database.
protected override Func<IDataReader, SqlQueryReaderOptions, SqlQueryResult<SqlDatabaseVersionRecord>> GetVersionHistoryRecordsQueryDelegate(SqlQueryReaderFactory queryReaders)
Parameters
queryReaders
SqlQueryReaderFactoryQuery reader factory.
Returns
- Func<IDataReader, SqlQueryReaderOptions, SqlQueryResult<SqlDatabaseVersionRecord>>
Delegate capable of reading metadata of all versions applied to this database.
VersionHistoryTableBuilderInit(SqlTableBuilder)
Initializes the version history table builder.
protected override void VersionHistoryTableBuilderInit(SqlTableBuilder builder)
Parameters
builder
SqlTableBuilderVersion history table builder.