Represents a concatenate operation between two DbExpression instances.
Inheritance: DbExpression
        /// <summary>
        /// Translates the <paramref name="concatExpression"/> into a string representation.
        /// </summary>
        /// <param name="concatExpression">The <see cref="DbConcatExpression"/> to translate.</param>
        /// <returns><see cref="string"/></returns>
        protected override DbExpression VisitConcatExpression(DbConcatExpression concatExpression)
        {
            string syntax = string.Format("{0} {1}", Visit(concatExpression.LeftExpression),
                                          Visit(concatExpression.RightExpression));

            return(ExpressionFactory.Sql(syntax));
        }
        /// <summary>
        /// Translates the <paramref name="concatExpression"/> into a string representation.
        /// </summary>
        /// <param name="concatExpression">The <see cref="DbConcatExpression"/> to translate.</param>
        /// <returns><see cref="DbExpression"/></returns>
        protected virtual DbExpression VisitConcatExpression(DbConcatExpression concatExpression)
        {
            var leftExpression  = Visit(concatExpression.LeftExpression);
            var rightExpression = Visit(concatExpression.RightExpression);

            if (!ReferenceEquals(concatExpression.LeftExpression, leftExpression) ||
                !ReferenceEquals(concatExpression.RightExpression, rightExpression))
            {
                return(ExpressionFactory.Concat(leftExpression, rightExpression));
            }

            return(concatExpression);
        }
 /// <summary>
 /// Creates a new <see cref="DbConcatExpression"/>.
 /// </summary>
 /// <param name="leftExpression">The left operand of the concatenate operation.</param>
 /// <param name="rightExpression">The right operand of the concatenate operation.</param>
 /// <returns>A <see cref="DbConcatExpression"/> instance.</returns>
 public DbConcatExpression Concat(DbExpression leftExpression, DbExpression rightExpression)
 {
     var concatExpression = new DbConcatExpression
                            { LeftExpression = leftExpression, RightExpression = rightExpression };
     return concatExpression;
 }
 /// <summary>
 /// Translates the <paramref name="concatExpression"/> into a string representation.
 /// </summary>
 /// <param name="concatExpression">The <see cref="DbConcatExpression"/> to translate.</param>
 /// <returns><see cref="string"/></returns>
 protected override DbExpression VisitConcatExpression(DbConcatExpression concatExpression)
 {
     string syntax = string.Format("{0} {1}", Visit(concatExpression.LeftExpression),
                                   Visit(concatExpression.RightExpression));
     return ExpressionFactory.Sql(syntax);
 }
        /// <summary>
        /// Translates the <paramref name="concatExpression"/> into a string representation.
        /// </summary>
        /// <param name="concatExpression">The <see cref="DbConcatExpression"/> to translate.</param>
        /// <returns><see cref="DbExpression"/></returns>
        protected virtual DbExpression VisitConcatExpression(DbConcatExpression concatExpression)
        {
            var leftExpression = Visit(concatExpression.LeftExpression);
            var rightExpression = Visit(concatExpression.RightExpression);
            if (!ReferenceEquals(concatExpression.LeftExpression, leftExpression) ||
                !ReferenceEquals(concatExpression.RightExpression, rightExpression))
            {
                return ExpressionFactory.Concat(leftExpression, rightExpression);
            }

            return concatExpression;
        }