Пример #1
0
        public override SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
        {
            var argumentsSql = provider.GetMethodCallArgumentsSql(expression, argumentTypes);

            return(new SqlBuilder($"{SqlFunctionName}({argumentsSql[0]}, {argumentsSql[1]})")
                   .MergeColumnsInfo(argumentsSql));
        }
Пример #2
0
        public override SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
        {
            var argument   = expression.Arguments[0];
            var sqlBuilder = provider.GetExpressionSql(argument, argumentTypes);

            return(new SqlBuilder(sqlBuilder.AffectedColumns, $"EXP({sqlBuilder})"));
        }
        /// <inheritdoc />
        public override SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
        {
            var argumentSql = provider.GetMethodCallArgumentsSql(expression, argumentTypes)[0];
            var sqlBuilder  = provider.GetExpressionSql(expression.Object, argumentTypes);

            return(new SqlBuilder(sqlBuilder.AffectedColumns, $"{sqlBuilder} LIKE {BuildEndSql(argumentSql)}")
                   .MergeColumnsInfo(argumentSql));
        }
Пример #4
0
        /// <inheritdoc />
        public override SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
        {
            var expressionToFindSql   = provider.GetMethodCallArgumentsSql(expression, argumentTypes)[0];
            var expressionToSearchSql = provider.GetExpressionSql(expression.Object, argumentTypes);

            return(new SqlBuilder(expressionToFindSql.AffectedColumns, CombineSql(expressionToSearchSql, expressionToFindSql))
                   .MergeColumnsInfo(expressionToSearchSql));
        }
        public override SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
        {
            var argument                = expression.Arguments[0];
            var isNullExpression        = Expression.Equal(argument, Expression.Constant(null));
            var isEmptyExpression       = Expression.Equal(argument, Expression.Constant(string.Empty));
            var isNullOrEmptyExpression = Expression.OrElse(isNullExpression, isEmptyExpression);

            return(provider.GetExpressionSql(isNullOrEmptyExpression, argumentTypes));
        }
        /// <inheritdoc />
        public override SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
        {
            var expressionSqlBuilder = provider.GetExpressionSql(expression.Object, argumentTypes);

            var sqlBuilder = new SqlBuilder(expressionSqlBuilder.AffectedColumns);

            foreach (var trimFunctionName in SqlTrimFunctionsNamesToApply)
            {
                sqlBuilder.Append(trimFunctionName).Append('(');
            }

            sqlBuilder.Append(expressionSqlBuilder);

            foreach (var _ in SqlTrimFunctionsNamesToApply)
            {
                sqlBuilder.Append(')');
            }

            return(sqlBuilder);
        }
Пример #7
0
 public static SqlBuilder[] GetMethodCallArgumentsSql(this BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
 {
     return(expression.Arguments.Select(argumentExpression => provider.GetExpressionSql(argumentExpression, argumentTypes)).ToArray());
 }
 /// <inheritdoc />
 public abstract SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression,
                                     Dictionary <string, ArgumentType> argumentTypes);
Пример #9
0
        /// <inheritdoc />
        public override SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
        {
            var sqlBuilder = provider.GetExpressionSql(expression.Object, argumentTypes);

            return(new(sqlBuilder.AffectedColumns, $"LOWER({sqlBuilder})"));
        }
Пример #10
0
 public override SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
 {
     return(new ("test"));
 }
        /// <inheritdoc />
        public override SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
        {
            var argumentsSql = provider.GetMethodCallArgumentsSql(expression, argumentTypes);

            return(BuildSql(argumentsSql));
        }