protected SqlSelectBuilderBase Values(IEnumerable <Operand> sqlColumns) { foreach (var operand in sqlColumns ?? throw new ArgumentException(nameof(sqlColumns))) { Value(operand); } CurrentPosition = SqlSelectPosition.Select; return(this); }
protected SqlSelectBuilderBase From(params SqlTable[] sqlTables) { FromTablesBlock.AddRange(sqlTables.Select(sqlTable => new TableEntity(sqlTable))); foreach (var sqlTable in sqlTables) { Tables.Add(sqlTable); } CurrentPosition = SqlSelectPosition.From; return(this); }
protected SqlSelectBuilderBase Join(JoinType joinType, SqlTable sqlTable, Operator on = null) { if (on == null) { on = AutoJoin(sqlTable); } Tables.Add(sqlTable); JoinsBlock.Add(new JoinBlock(joinType, sqlTable, on)); CurrentPosition = SqlSelectPosition.Join; return(this); }
protected SqlSelectBuilderBase(SqlSelectBuilderBase copyFrom) { CustomSqlBlocks = copyFrom.CustomSqlBlocks; FromTablesBlock = copyFrom.FromTablesBlock; JoinsBlock = copyFrom.JoinsBlock; OrdersBlock = copyFrom.OrdersBlock; SelectValuesBlock = copyFrom.SelectValuesBlock; WhereBlock = copyFrom.WhereBlock; CurrentPosition = copyFrom.CurrentPosition; Tables = copyFrom.Tables; FirstSqlColumns = copyFrom.FirstSqlColumns; }
protected SqlSelectBuilderBase Values(IEnumerable <SqlColumn> sqlColumns) { var columns = sqlColumns as SqlColumn[] ?? sqlColumns.ToArray(); SelectValuesBlock.AddRange(columns?.Select(m => new SelectColumnBlock(m)) ?? throw new ArgumentException(nameof(sqlColumns))); var firstColumn = columns.FirstOrDefault(); if (firstColumn != null) { FirstSqlColumns.Add(firstColumn); } CurrentPosition = SqlSelectPosition.Select; return(this); }
protected SqlSelectBuilderBase Value(Operand operand) { SelectValuesBlock.Add(new SelectColumnBlock(operand ?? throw new ArgumentException(nameof(operand)))); CurrentPosition = SqlSelectPosition.Select; return(this); }
protected SqlSelectBuilderBase Offset(Operand offset) { OffsetBlock = new OffsetBlock(offset); CurrentPosition = SqlSelectPosition.Offset; return(this); }
protected SqlSelectBuilderBase LimitBy(Operand limitBy) { LimitBlock = new LimitBlock(limitBy); CurrentPosition = SqlSelectPosition.Limit; return(this); }
protected SqlSelectBuilderBase OrderBy(IEnumerable <OrderBlock> orderBy) { OrdersBlock.AddRange(orderBy); CurrentPosition = SqlSelectPosition.Order; return(this); }
protected SqlSelectBuilderBase OrderBy(SqlColumn sqlColumn, OrderDirection direction) { OrdersBlock.Add(new OrderBlock(sqlColumn, direction)); CurrentPosition = SqlSelectPosition.Order; return(this); }
protected SqlSelectBuilderBase Order(OrderMap orderMap) { OrdersBlock.AddRange(orderMap); CurrentPosition = SqlSelectPosition.Order; return(this); }
protected SqlSelectBuilderBase Where(params Operator[] operators) { WhereBlock.AddRange(operators); CurrentPosition = SqlSelectPosition.Where; return(this); }
protected SqlSelectBuilderBase Star() { SelectValuesBlock.Add(new SelectStarBlock()); CurrentPosition = SqlSelectPosition.Select; return(this); }