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
dialectSqlDialectSpecifies the SQL dialect of this database.
serverVersionstringCurrent ServerVersion of this database.
defaultSchemaNamestringName of the default DB schema.
dataTypesISqlDataTypeProviderProvider of SQL data types.
typeDefinitionsSqlColumnTypeDefinitionProviderProvider of column type definitions.
nodeInterpretersISqlNodeInterpreterFactoryFactory of node interpreters.
queryReadersSqlQueryReaderFactoryFactory of query readers.
parameterBindersSqlParameterBinderFactoryFactory of parameter binders.
defaultNamesSqlDefaultObjectNameProviderProvider of default SQL object names.
schemasSqlSchemaBuilderCollectionCollection of schemas defined in this database.
changesSqlDatabaseChangeTrackerTracker 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
callbackAction<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
objectTypeSqlObjectTypeObject's type.
namestringObject's name to validate.
Returns
- bool
true when
nameis 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
objectTypeSqlObjectTypeObject's type.
namestringObject's name to validate.
Exceptions
- SqlObjectBuilderException
When
nameis not valid.