Class SqlDatabaseBuilder
Represents an SQL database builder.
public abstract class SqlDatabaseBuilder : SqlBuilderApi, ISqlDatabaseBuilder
- Inheritance
-
SqlDatabaseBuilder
- Implements
- Derived
- Inherited Members
Constructors
SqlDatabaseBuilder(SqlDialect, string, string, ISqlDataTypeProvider, SqlColumnTypeDefinitionProvider, ISqlNodeInterpreterFactory, SqlQueryReaderFactory, SqlParameterBinderFactory, SqlDefaultObjectNameProvider, SqlSchemaBuilderCollection, SqlDatabaseChangeTracker)
Creates a new SqlDatabaseBuilder instance.
protected SqlDatabaseBuilder(SqlDialect dialect, string serverVersion, string defaultSchemaName, ISqlDataTypeProvider dataTypes, SqlColumnTypeDefinitionProvider typeDefinitions, ISqlNodeInterpreterFactory nodeInterpreters, SqlQueryReaderFactory queryReaders, SqlParameterBinderFactory parameterBinders, SqlDefaultObjectNameProvider defaultNames, SqlSchemaBuilderCollection schemas, SqlDatabaseChangeTracker changes)
Parameters
dialect
SqlDialectSpecifies the SQL dialect of this database.
serverVersion
stringCurrent ServerVersion of this database.
defaultSchemaName
stringName of the default DB schema.
dataTypes
ISqlDataTypeProviderProvider of SQL data types.
typeDefinitions
SqlColumnTypeDefinitionProviderProvider of column type definitions.
nodeInterpreters
ISqlNodeInterpreterFactoryFactory of node interpreters.
queryReaders
SqlQueryReaderFactoryFactory of query readers.
parameterBinders
SqlParameterBinderFactoryFactory of parameter binders.
defaultNames
SqlDefaultObjectNameProviderProvider of default SQL object names.
schemas
SqlSchemaBuilderCollectionCollection of schemas defined in this database.
changes
SqlDatabaseChangeTrackerTracker of changes applied to this database.
Properties
Changes
Tracker of changes applied to this database.
public SqlDatabaseChangeTracker Changes { get; }
Property Value
DataTypes
Provider of SQL data types.
public ISqlDataTypeProvider DataTypes { get; }
Property Value
DefaultNames
Provider of default SQL object names.
public SqlDefaultObjectNameProvider DefaultNames { get; }
Property Value
Dialect
Specifies the SQL dialect of this database.
public SqlDialect Dialect { get; }
Property Value
NodeInterpreters
Factory of node interpreters.
public ISqlNodeInterpreterFactory NodeInterpreters { get; }
Property Value
ParameterBinders
Factory of parameter binders.
public SqlParameterBinderFactory ParameterBinders { get; }
Property Value
QueryReaders
Factory of query readers.
public SqlQueryReaderFactory QueryReaders { get; }
Property Value
Schemas
Collection of schemas defined in this database.
public SqlSchemaBuilderCollection Schemas { get; }
Property Value
ServerVersion
Current ServerVersion of this database.
public string ServerVersion { get; }
Property Value
TypeDefinitions
Provider of column type definitions.
public SqlColumnTypeDefinitionProvider TypeDefinitions { get; }
Property Value
UserData
Represents a custom data that can be sent between different DB versions.
public object? UserData { get; set; }
Property Value
Methods
AddConnectionChangeCallback(Action<SqlDatabaseConnectionChangeEvent>)
Adds an SqlDatabaseConnectionChangeEvent callback.
public SqlDatabaseBuilder AddConnectionChangeCallback(Action<SqlDatabaseConnectionChangeEvent> callback)
Parameters
callback
Action<SqlDatabaseConnectionChangeEvent>Callback to add.
Returns
- SqlDatabaseBuilder
this.
IsValidName(SqlObjectType, string)
Checks whether or not the provided name
is valid for a given objectType
.
[Pure]
public virtual bool IsValidName(SqlObjectType objectType, string name)
Parameters
objectType
SqlObjectTypeObject's type.
name
stringObject's name to validate.
Returns
- bool
true when
name
is valid, otherwise false.
ThrowIfNameIsInvalid(SqlObjectType, string)
Throws an exception when the provided name
is not valid for a given objectType
.
public void ThrowIfNameIsInvalid(SqlObjectType objectType, string name)
Parameters
objectType
SqlObjectTypeObject's type.
name
stringObject's name to validate.
Exceptions
- SqlObjectBuilderException
When
name
is not valid.