Class AccessSqlBuilderBase
- Namespace
- LinqToDB.Internal.DataProvider.Access
- Assembly
- linq2db.dll
public abstract class AccessSqlBuilderBase : BasicSqlBuilder, ISqlBuilder
- Inheritance
-
objectAccessSqlBuilderBase
- Implements
- Derived
- Inherited Members
- Extension Methods
Constructors
AccessSqlBuilderBase(IDataProvider?, MappingSchema, DataOptions, ISqlOptimizer, SqlProviderFlags)
protected AccessSqlBuilderBase(IDataProvider? provider, MappingSchema mappingSchema, DataOptions dataOptions, ISqlOptimizer sqlOptimizer, SqlProviderFlags sqlProviderFlags)
Parameters
providerIDataProvidermappingSchemaMappingSchemadataOptionsDataOptionssqlOptimizerISqlOptimizersqlProviderFlagsSqlProviderFlags
AccessSqlBuilderBase(BasicSqlBuilder)
protected AccessSqlBuilderBase(BasicSqlBuilder parentBuilder)
Parameters
parentBuilderBasicSqlBuilder
Properties
IsNestedJoinSupported
public override bool IsNestedJoinSupported { get; }
Property Value
IsValuesSyntaxSupported
If true, provider supports list of VALUES as a source element of merge command.
protected override bool IsValuesSyntaxSupported { get; }
Property Value
RequiresUniqueRootColumnNames
true when the provider's final SELECT cannot contain two columns that render with the same result-set name. Such providers force final aliases for a root column-name collision (see CanSkipRootAliases(SqlStatement)) instead of skipping root aliases.
protected override bool RequiresUniqueRootColumnNames { get; }
Property Value
SupportsColumnAliasesInSource
If true, provider supports column aliases specification after table alias. E.g. as table_alias (column_alias1, column_alias2).
protected override bool SupportsColumnAliasesInSource { get; }
Property Value
WrapJoinCondition
true if it is needed to wrap join condition with ()
public override bool WrapJoinCondition { get; }
Property Value
Examples
INNER JOIN Table2 t2 ON (t1.Value = t2.Value)
Methods
BuildColumnExpression(SelectQuery?, ISqlExpression, string?, ref bool)
protected override void BuildColumnExpression(SelectQuery? selectQuery, ISqlExpression expr, string? alias, ref bool addAlias)
Parameters
selectQuerySelectQueryexprISqlExpressionaliasstringaddAliasbool
BuildCommand(SqlStatement, int)
protected override void BuildCommand(SqlStatement statement, int commandNumber)
Parameters
statementSqlStatementcommandNumberint
BuildCreateTableIdentityAttribute2(SqlField)
protected override void BuildCreateTableIdentityAttribute2(SqlField field)
Parameters
fieldSqlField
BuildCreateTablePrimaryKey(SqlCreateTableStatement, string, IEnumerable<string>)
protected override void BuildCreateTablePrimaryKey(SqlCreateTableStatement createTable, string pkName, IEnumerable<string> fieldNames)
Parameters
createTableSqlCreateTableStatementpkNamestringfieldNamesIEnumerable<string>
BuildDataTypeFromDataType(DbDataType, bool, bool)
protected override void BuildDataTypeFromDataType(DbDataType type, bool forCreateTable, bool canBeNull)
Parameters
typeDbDataTypeforCreateTableboolcanBeNullboolType could store
NULLvalues (could be used for column table type generation or for databases with explicit typee nullability like ClickHouse).
BuildIsDistinctPredicate(IsDistinct)
protected override void BuildIsDistinctPredicate(SqlPredicate.IsDistinct expr)
Parameters
exprSqlPredicate.IsDistinct
BuildMergeStatement(SqlMergeStatement)
protected override void BuildMergeStatement(SqlMergeStatement merge)
Parameters
mergeSqlMergeStatement
BuildObjectName(StringBuilder, SqlObjectName, ConvertType, bool, TableOptions, bool)
Writes database object name into provided StringBuilder instance.
public override StringBuilder BuildObjectName(StringBuilder sb, SqlObjectName name, ConvertType objectType = ConvertType.NameToQueryTable, bool escape = true, TableOptions tableOptions = TableOptions.NotSet, bool withoutSuffix = false)
Parameters
sbStringBuilderString builder for generated object name.
nameSqlObjectNameName of database object (e.g. table, view, procedure or function).
objectTypeConvertTypeType of database object, used to select proper name converter.
escapeboolIf true, apply required escaping to name components. Must be true except rare cases when escaping is not needed.
tableOptionsTableOptionsTable options if called for table. Used to properly generate names for temporary tables.
withoutSuffixboolIf object name have suffix, which could be detached from main name, this parameter disables suffix generation (enables generation of only main name part).
Returns
- StringBuilder
sbparameter value.
BuildQueryExtensions(SqlStatement)
protected override void BuildQueryExtensions(SqlStatement statement)
Parameters
statementSqlStatement
BuildSqlCaseExpression(SqlCaseExpression)
protected override void BuildSqlCaseExpression(SqlCaseExpression caseExpression)
Parameters
caseExpressionSqlCaseExpression
BuildSqlComment(StringBuilder, SqlComment)
protected override StringBuilder BuildSqlComment(StringBuilder sb, SqlComment comment)
Parameters
sbStringBuildercommentSqlComment
Returns
BuildSqlConditionExpression(SqlConditionExpression)
protected override void BuildSqlConditionExpression(SqlConditionExpression conditionExpression)
Parameters
conditionExpressionSqlConditionExpression
BuildSqlParameterCastExpression(SqlParameterCastExpression)
Renders a parameter usage that was marked as needing an explicit type. The node states no type of its own, so the type comes from GetParameterCastType(SqlParameter); a null from there means this provider wants no cast at this position after all.
protected override void BuildSqlParameterCastExpression(SqlParameterCastExpression parameterCast)
Parameters
parameterCastSqlParameterCastExpression
BuildSubQueryExtensions(SqlStatement)
protected override void BuildSubQueryExtensions(SqlStatement statement)
Parameters
statementSqlStatement
BuildUpdateClause(SqlStatement, SelectQuery, SqlUpdateClause)
protected override void BuildUpdateClause(SqlStatement statement, SelectQuery selectQuery, SqlUpdateClause updateClause)
Parameters
statementSqlStatementselectQuerySelectQueryupdateClauseSqlUpdateClause
BuildValue(DbDataType?, object?)
protected override void BuildValue(DbDataType? dataType, object? value)
Parameters
dataTypeDbDataType?valueobject
CommandCount(SqlStatement)
public override int CommandCount(SqlStatement statement)
Parameters
statementSqlStatement
Returns
Convert(StringBuilder, string, ConvertType)
public override StringBuilder Convert(StringBuilder sb, string value, ConvertType convertType)
Parameters
sbStringBuildervaluestringconvertTypeConvertType
Returns
FirstFormat(SelectQuery)
protected override string FirstFormat(SelectQuery selectQuery)
Parameters
selectQuerySelectQuery
Returns
ParenthesizeJoin(List<SqlJoinedTable>)
protected override bool ParenthesizeJoin(List<SqlJoinedTable> joins)
Parameters
joinsList<SqlJoinedTable>
Returns
StartStatementQueryExtensions(SelectQuery?)
protected override void StartStatementQueryExtensions(SelectQuery? selectQuery)
Parameters
selectQuerySelectQuery
TryConvertParameterToSql(SqlParameterValue)
protected override bool TryConvertParameterToSql(SqlParameterValue paramValue)
Parameters
paramValueSqlParameterValue