DbExpressions.OracleQueryTranslator.VisitDeleteExpression C# (CSharp) Method

VisitDeleteExpression() protected method

Translates the deleteExpression into a string representation.
protected VisitDeleteExpression ( DbDeleteExpression deleteExpression ) : DbExpression
deleteExpression DbDeleteExpression The to translate.
return DbExpression
        protected override DbExpression VisitDeleteExpression(DbDeleteExpression deleteExpression)
        {
            var sb = new StringBuilder();

            if (deleteExpression.FromExpression.IsNull())
            {
                sb.AppendFormat("DELETE FROM {0} ", Visit(deleteExpression.Target));
            }
            else
            {
                var aliasExpression = deleteExpression.FromExpression.Find<DbAliasExpression>(ae => ae.Target.Equals(deleteExpression.Target)).FirstOrDefault();
                if (aliasExpression.IsNull())
                    sb.AppendFormat("DELETE {0} ", Visit(deleteExpression.Target));
                else
                    sb.AppendFormat("DELETE {0} ", aliasExpression.Alias);
                sb.AppendLine();
                sb.AppendLine("FROM ");
                sb.AppendFormat(1, "{0} ", Visit(deleteExpression.FromExpression));
            }

            if (!deleteExpression.WhereExpression.IsNull())
            {
                sb.AppendLine();
                sb.AppendLine("WHERE ");
                sb.AppendFormat(1, "{0} ", Visit(deleteExpression.WhereExpression));
            }

            return ExpressionFactory.Sql(sb.ToString().Trim());
        }