public IAliasOperator As(string alias) { var command = Command.ToString(); Command.Clear(); Command.Append($"SELECT {string.Join(",", QueryColumns.Select(c => c.ToString()))} FROM {command.Split(new[] { "FROM " }, StringSplitOptions.RemoveEmptyEntries)[1].Trim()} "); Command.AppendFormat("AS {0} ", alias); return(this); }
public Query AddCase(string alias, object[] whenExpression, object[] thenExpression, object[] elseExpression) { var qc = new QueryColumn { Value = $"CASE WHEN {GetExpression(whenExpression)} THEN {GetExpression(thenExpression)} ELSE {GetExpression(elseExpression)} END", As = alias }; QueryColumns.Add(qc); return(this); }
public Query AddColumn(string alias, params object[] expressionParts) { var qc = new QueryColumn { Value = Expression.GetExpression(expressionParts, QueryElements), As = alias }; QueryColumns.Add(qc); return(this); }