Represents calling a built in string function in the target DBMS.
Inheritance: DbFunctionExpression
        /// <summary>
        /// Translates the <paramref name="stringFunctionExpression"/> into a string representation.
        /// </summary>
        /// <param name="stringFunctionExpression">The <see cref="DbStringFunctionExpression"/> to translate.</param>
        /// <returns><see cref="string"/></returns>
        protected override DbExpression VisitStringFunctionExpression(DbStringFunctionExpression stringFunctionExpression)
        {
            var functionName   = GetStringFunctionBody(stringFunctionExpression.StringFunctionExpressionType);
            var functionSyntax = CreateDefaultFunctionSyntax(functionName, stringFunctionExpression.Arguments);

            return(functionSyntax);
        }
        /// <summary>
        /// Translates the <paramref name="stringFunctionExpression"/> into a string representation.
        /// </summary>
        /// <param name="stringFunctionExpression">The <see cref="DbStringFunctionExpression"/> to translate.</param>
        /// <returns><see cref="DbExpression"/></returns>
        protected virtual DbExpression VisitStringFunctionExpression(DbStringFunctionExpression stringFunctionExpression)
        {
            var arguments = VisitListExpression(stringFunctionExpression.Arguments);

            if (!ReferenceEquals(arguments, stringFunctionExpression.Arguments))
            {
                return(ExpressionFactory.MakeStringFunction(stringFunctionExpression.StringFunctionExpressionType,
                                                            arguments.ToArray()));
            }

            return(stringFunctionExpression);
        }
 /// <summary>
 /// Creates a new <see cref="DbStringFunctionExpression"/>.
 /// </summary>
 /// <param name="stringFunctionExpressionType">The <see cref="DbStringFunctionExpressionType"/> that specifies the type of <see cref="DbStringFunctionExpression"/> to create.</param>
 /// <param name="arguments">A list of <see cref="DbExpression"/> instances that is used as arguments when calling the function.</param>
 /// <returns>A <see cref="DbStringFunctionExpression"/> instance.</returns>
 public DbStringFunctionExpression MakeStringFunction(DbStringFunctionExpressionType stringFunctionExpressionType, DbExpression[] arguments)
 {
     var stringFunctionExpression = new DbStringFunctionExpression(stringFunctionExpressionType, arguments);
     return stringFunctionExpression;
 }
 /// <summary>
 /// Translates the <paramref name="stringFunctionExpression"/> into a string representation.
 /// </summary>
 /// <param name="stringFunctionExpression">The <see cref="DbStringFunctionExpression"/> to translate.</param>
 /// <returns><see cref="string"/></returns>
 protected override DbExpression VisitStringFunctionExpression(DbStringFunctionExpression stringFunctionExpression)
 {
     var functionName = GetStringFunctionBody(stringFunctionExpression.StringFunctionExpressionType);
     var functionSyntax = CreateDefaultFunctionSyntax(functionName, stringFunctionExpression.Arguments);
     return functionSyntax;
 }
        /// <summary>
        /// Translates the <paramref name="stringFunctionExpression"/> into a string representation.
        /// </summary>
        /// <param name="stringFunctionExpression">The <see cref="DbStringFunctionExpression"/> to translate.</param>
        /// <returns><see cref="DbExpression"/></returns>
        protected virtual DbExpression VisitStringFunctionExpression(DbStringFunctionExpression stringFunctionExpression)
        {
            var arguments = VisitListExpression(stringFunctionExpression.Arguments);
            if (!ReferenceEquals(arguments, stringFunctionExpression.Arguments))
                return ExpressionFactory.MakeStringFunction(stringFunctionExpression.StringFunctionExpressionType,
                                                            arguments.ToArray());

            return stringFunctionExpression;
        }