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)); }
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)); }
/// <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); }
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);
/// <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})")); }
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)); }