/// <summary> /// Concat 2 query parts in a defined way (e.g. l + r) /// </summary> public static string Concat(this ISqlSyntax builder, string l, string r, BinarySqlOperator concatType) { switch (concatType) { case BinarySqlOperator.And: return(builder.BuildAndCondition(l, r)); case BinarySqlOperator.Or: return(builder.BuildOrCondition(l, r)); case BinarySqlOperator.Add: return(builder.BuildAddCondition(l, r)); case BinarySqlOperator.Subtract: return(builder.BuildSubtractCondition(l, r)); case BinarySqlOperator.Multiply: return(builder.BuildMultiplyCondition(l, r)); case BinarySqlOperator.Divide: return(builder.BuildDivideCondition(l, r)); case BinarySqlOperator.In: return(builder.BuildInCondition(l, r)); case BinarySqlOperator.Comma: return(builder.BuildCommaCondition(l, r)); case BinarySqlOperator.Equal: return(builder.BuildEqualityCondition(l, r)); case BinarySqlOperator.NotEqual: return(builder.BuildNonEqualityCondition(l, r)); case BinarySqlOperator.GreaterThan: return(builder.BuildGreaterThanCondition(l, r)); case BinarySqlOperator.GreaterThanOrEqual: return(builder.BuildGreaterThanEqualToCondition(l, r)); case BinarySqlOperator.LessThan: return(builder.BuildLessThanCondition(l, r)); case BinarySqlOperator.LessThanOrEqual: return(builder.BuildLessThanEqualToCondition(l, r)); default: throw new NotSupportedException($"Cannot combine query parts using concatType: {concatType}."); } }
public ISqlExpression <TElement> Combine(ISqlExpression <TElement> x, BinarySqlOperator combiner) { return(new BinarySqlExpression <TElement>(this, x, combiner)); }