示例#1
0
        /// <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}.");
            }
        }
示例#2
0
 public ISqlExpression <TElement> Combine(ISqlExpression <TElement> x, BinarySqlOperator combiner)
 {
     return(new BinarySqlExpression <TElement>(this, x, combiner));
 }