public void BuildCommandText( SqlContainer sqlContainer, SqlCommand sqlCommand, StringBuilder commandText, int pageSize, Sqls.TableTypes tableType, int?commandCount) { if (Count > 0) { commandText.Append( "order by ", this .GroupBy(o => o.ColumnBracket) .Select(o => o.FirstOrDefault()) .Select(o => o.Sql( sqlContainer: sqlContainer, sqlCommand: sqlCommand, tableBracket: Sqls.GetTableBracket(o.TableName), tableType: tableType)) .Join(), " "); if (pageSize != 0) { commandText.Append( $"offset {Parameters.Parameter.SqlParameterPrefix}Offset", commandCount.ToString(), $" rows fetch next {Parameters.Parameter.SqlParameterPrefix}PageSize", commandCount.ToString(), " rows only "); } } }
public void BuildCommandText( SqlContainer sqlContainer, SqlCommand sqlCommand, StringBuilder commandText, int?commandCount, bool distinct, int top) { commandText.Append("select "); Build_DistinctClause(commandText, distinct); Build_TopClause( commandText: commandText, top: top); if (this.Any()) { commandText.Append(this .Select(o => o.CommandText( sqlContainer: sqlContainer, sqlCommand: sqlCommand, tableBracket: Sqls.GetTableBracket(o.TableName), commandCount: commandCount)) .Join(), " "); } else { commandText.Append("* "); } RemoveAll(o => o.AdHoc); }
public string Sql( ISqlObjectFactory factory, SqlContainer sqlContainer, ISqlCommand sqlCommand, int?commandCount, string multiClauseOperator = " and ", bool select = false) { if (!select) { this.Where(o => o?.ColumnBrackets != null) .ForEach(where => where.ColumnBrackets = where.ColumnBrackets.Select(o => o.Split('.').Last()).ToArray()); } return(this.Where(o => o != null).Any(o => o.Using) ? Clause + this .Where(o => o != null) .Where(o => o.Using) .Select(o => o.Sql( factory: factory, sqlContainer: sqlContainer, sqlCommand: sqlCommand, tableBracket: Sqls.GetTableBracket(o.TableName), commandCount: commandCount, select: select)) .Join(multiClauseOperator) + " " : string.Empty); }
public void BuildCommandText( StringBuilder commandText, int pageSize, Sqls.TableTypes tableType, int?commandCount) { if (Count > 0) { commandText.Append( "order by ", this .GroupBy(o => o.ColumnBracket) .Select(o => o.FirstOrDefault()) .Select(o => o.Sql( tableBracket: Sqls.GetTableBracket(o.TableName), tableType: tableType)) .Join(), " "); if (pageSize != 0) { commandText.Append( "offset @_Offset", commandCount.ToString(), " rows fetch next @_PageSize", commandCount.ToString(), " rows only "); } } }
public void BuildCommandText(StringBuilder commandText) { if (this.Any()) { commandText.Append("group by ", this.Select(o => Sqls.TableAndColumnBracket( tableBracket: Sqls.GetTableBracket(o.TableName), columnBracket: o.ColumnBracket)) .Join(), " "); } }
public string Sql( SqlContainer sqlContainer, SqlCommand sqlCommand, int?commandCount) { return(this.Any(o => o.Using) ? Clause + this .Where(o => o.Using) .Select(o => o.Sql( sqlContainer: sqlContainer, sqlCommand: sqlCommand, tableBracket: Sqls.GetTableBracket(o.TableName), commandCount: commandCount)) .Join(MultiClauseOperator) + " " : string.Empty); }