linq2db by Igor Tkachev, Ilya Chudin, Svyatoslav Danyliv, Dmitry Lukashenko

<PackageReference Include="linq2db" Version="2.9.6" />

 BasicSqlBuilder

public abstract class BasicSqlBuilder : ISqlBuilder
protected sealed delegate ColumnSelector : MulticastDelegate

protected enum Step

protected static readonly char[] EndLine

protected Step BuildStep

protected int Indent

protected bool SkipAlias

public virtual bool IsNestedJoinParenthesisRequired { get; }

public virtual bool IsNestedJoinSupported { get; }

protected virtual bool IsRecursiveCteKeywordRequired { get; }

public virtual string Name { get; }

protected virtual bool OffsetFirst { get; }

protected virtual bool SkipFirst { get; }

protected virtual string SkipFormat { get; }

protected virtual string TakePercent { get; }

protected virtual string TakeTies { get; }

public virtual bool WrapJoinCondition { get; }

True if it is needed to wrap join condition with ()

protected BasicSqlBuilder(ISqlOptimizer sqlOptimizer, SqlProviderFlags sqlProviderFlags, ValueToSqlConverter valueToSqlConverter)

protected static int GetPrecedence(ISqlPredicate predicate)

protected static string GetTableAlias(ISqlTableSource table)

protected static bool IsDateDataType(ISqlExpression expr, string dateName)

protected static bool IsTimeDataType(ISqlExpression expr)

protected ISqlExpression Add<T>(ISqlExpression expr1, ISqlExpression expr2)

protected void AlternativeBuildSql(bool implementOrderBy, Action buildSql, string emptyOrderByValue)

protected void AlternativeBuildSql2(Action buildSql)

public string ApplyQueryHints(string sql, List<string> queryHints)

protected virtual void BuildBinaryExpression(SqlBinaryExpression expr)

protected virtual void BuildColumnExpression(SelectQuery selectQuery, ISqlExpression expr, string alias, ref bool addAlias)

protected virtual void BuildColumns(SelectQuery selectQuery)

protected virtual void BuildCommand(SqlStatement statement, int commandNumber)

protected virtual void BuildCreateTableFieldType(SqlField field)

protected virtual void BuildCreateTableIdentityAttribute1(SqlField field)

protected virtual void BuildCreateTableIdentityAttribute2(SqlField field)

protected virtual void BuildCreateTableNullAttribute(SqlField field, DefaultNullable defaultNullable)

protected virtual void BuildCreateTablePrimaryKey(SqlCreateTableStatement createTable, string pkName, IEnumerable<string> fieldNames)

protected virtual void BuildCreateTableStatement(SqlCreateTableStatement createTable)

protected virtual void BuildCteBody(SelectQuery selectQuery)

protected virtual void BuildDataType(SqlDataType type, bool createDbType)

protected virtual void BuildDeleteClause(SqlDeleteStatement deleteStatement)

protected virtual void BuildDeleteQuery(SqlDeleteStatement deleteStatement)

protected void BuildDeleteQuery2(SqlDeleteStatement deleteStatement)

protected virtual void BuildDropTableStatement(SqlDropTableStatement dropTable)

protected virtual void BuildEmptyInsert(SqlInsertClause insertClause)

protected virtual void BuildEndCreateTableStatement(SqlCreateTableStatement createTable)

protected virtual StringBuilder BuildExpression(ISqlExpression expr, bool buildTableName, bool checkParentheses, string alias, ref bool addAlias, bool throwExceptionIfTableNotFound = true)

protected void BuildExpression(ISqlExpression expr, bool buildTableName, bool checkParentheses, bool throwExceptionIfTableNotFound = true)

protected void BuildExpression(int precedence, ISqlExpression expr)

protected virtual void BuildFromClause(SqlStatement statement, SelectQuery selectQuery)

protected virtual void BuildFunction(SqlFunction func)

protected virtual void BuildGetIdentity(SqlInsertClause insertClause)

protected virtual void BuildGroupByClause(SelectQuery selectQuery)

protected virtual void BuildHavingClause(SelectQuery selectQuery)

protected void BuildInsertClause(SqlStatement statement, SqlInsertClause insertClause, bool addAlias)

protected virtual void BuildInsertClause(SqlStatement statement, SqlInsertClause insertClause, string insertText, bool appendTableName, bool addAlias)

protected virtual void BuildInsertOrUpdateQuery(SqlInsertOrUpdateStatement insertOrUpdate)

protected virtual void BuildInsertOrUpdateQueryAsMerge(SqlInsertOrUpdateStatement insertOrUpdate, string fromDummyTable)

protected virtual void BuildInsertQuery(SqlStatement statement, SqlInsertClause insertClause, bool addAlias)

protected void BuildInsertQuery2(SqlStatement statement, SqlInsertClause insertClause, bool addAlias)

protected virtual bool BuildJoinType(SqlJoinedTable join)

protected virtual void BuildLikePredicate(Like predicate)

protected virtual void BuildOffsetLimit(SelectQuery selectQuery)

protected virtual void BuildOrderByClause(SelectQuery selectQuery)

protected virtual void BuildOutputSubclause(SqlStatement statement, SqlInsertClause insertClause)

protected void BuildPhysicalTable(ISqlTableSource table, string alias)

protected virtual void BuildPredicate(ISqlPredicate predicate)

protected void BuildPredicate(int parentPrecedence, ISqlPredicate predicate)

protected void BuildPredicate(int parentPrecedence, int precedence, ISqlPredicate predicate)

protected virtual void BuildSearchCondition(SqlSearchCondition condition)

protected virtual void BuildSearchCondition(int parentPrecedence, SqlSearchCondition condition)

protected virtual void BuildSelectClause(SelectQuery selectQuery)

protected virtual void BuildSelectQuery(SqlSelectStatement selectStatement)

protected virtual void BuildSetOperation(SetOperation operation, StringBuilder sb)

protected virtual void BuildSkipFirst(SelectQuery selectQuery)

public void BuildSql(int commandNumber, SqlStatement statement, StringBuilder sb, int startIndent = 0)

protected virtual void BuildSql(int commandNumber, SqlStatement statement, StringBuilder sb, int indent, bool skipAlias)

protected virtual void BuildSql()

protected virtual void BuildSqlBuilder(SelectQuery selectQuery, int indent, bool skipAlias)

protected virtual void BuildStartCreateTableStatement(SqlCreateTableStatement createTable)

public virtual StringBuilder BuildTableName(StringBuilder sb, string database, string schema, string table)

protected void BuildTableName(SqlTableSource ts, bool buildName, bool buildAlias)

protected virtual void BuildTakeHints(SelectQuery selectQuery)

protected virtual void BuildTruncateTable(SqlTruncateTableStatement truncateTable)

protected virtual void BuildTruncateTableStatement(SqlTruncateTableStatement truncateTable)

protected virtual void BuildUnknownQuery()

protected virtual void BuildUpdateClause(SqlStatement statement, SelectQuery selectQuery, SqlUpdateClause updateClause)

protected virtual void BuildUpdateQuery(SqlStatement statement, SelectQuery selectQuery, SqlUpdateClause updateClause)

protected virtual void BuildUpdateSet(SelectQuery selectQuery, SqlUpdateClause updateClause)

protected virtual void BuildUpdateTable(SelectQuery selectQuery, SqlUpdateClause updateClause)

protected virtual void BuildUpdateTableName(SelectQuery selectQuery, SqlUpdateClause updateClause)

protected void BuildValue(SqlDataType dataType, object value)

protected virtual bool BuildWhere(SelectQuery selectQuery)

protected virtual void BuildWhereClause(SelectQuery selectQuery)

protected virtual void BuildWhereSearchCondition(SelectQuery selectQuery, SqlSearchCondition condition)

protected virtual void BuildWithClause(SqlWithClause with)

protected virtual bool CanSkipRootAliases(SqlStatement statement)

public virtual int CommandCount(SqlStatement statement)

public virtual object Convert(object value, ConvertType convertType)

public virtual StringBuilder ConvertTableName(StringBuilder sb, string database, string schema, string table)

protected abstract ISqlBuilder CreateSqlBuilder()

protected virtual string FirstFormat(SelectQuery selectQuery)

public virtual string GetMaxValueSql(EntityDescriptor entity, ColumnDescriptor column)

protected virtual string GetProviderTypeName(IDbDataParameter parameter)

public virtual string GetReserveSequenceValuesSql(int count, string sequenceName)

protected virtual IEnumerable<SqlColumn> GetSelectedColumns(SelectQuery selectQuery)

protected SequenceNameAttribute GetSequenceNameAttribute(SqlTable table, bool throwException)

protected virtual string GetTableDatabaseName(SqlTable table)

protected virtual string GetTableOwnerName(SqlTable table)

protected virtual string GetTablePhysicalName(SqlTable table)

protected virtual string GetTableSchemaName(SqlTable table)

protected string[] GetTempAliases(int n, string defaultAlias)

protected virtual string GetTypeName(IDbDataParameter parameter)

protected virtual string GetUdtTypeName(IDbDataParameter parameter)

protected virtual bool IsReserved(string word)

protected virtual string LimitFormat(SelectQuery selectQuery)

protected bool NeedSkip(SelectQuery selectQuery)

protected bool NeedTake(SelectQuery selectQuery)

protected virtual string OffsetFormat(SelectQuery selectQuery)

protected virtual bool ParenthesizeJoin(List<SqlJoinedTable> joins)

protected virtual void PrintParameterName(StringBuilder sb, IDbDataParameter parameter)

protected virtual void PrintParameterType(StringBuilder sb, IDbDataParameter parameter)

protected virtual void PrintParameterValue(StringBuilder sb, IDbDataParameter parameter)

protected T WithStringBuilder<T>(StringBuilder sb, Func<T> func)