예제 #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));
        }
        /// <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));
        }
예제 #3
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));
        }
        /// <inheritdoc />
        public override SqlBuilder BuildSql(BaseExpressionProvider provider, MethodCallExpression expression, Dictionary <string, ArgumentType> argumentTypes)
        {
            var argumentsSql = provider.GetMethodCallArgumentsSql(expression, argumentTypes);

            return(BuildSql(argumentsSql));
        }