Ejemplo n.º 1
0
        private void VisitOutput(IExpressionVisitor visitor, ReturningClause returning)
        {
            if (returning == null)
            {
                return;
            }

            visitor.Output.AppendLine();
            visitor.Output.Append("OUTPUT ");

            if (returning.Members == null || returning.Members.Count == 0)
            {
                visitor.Output.Append("DELETED.*");
            }
            else
            {
                int index = 0;

                foreach (var member in returning.Members)
                {
                    if (index++ > 0)
                    {
                        visitor.Output.Append(",");
                    }

                    visitor.Output.Append((member.Mode == ReturningClause.ReturningMode.Deleted ? "DELETED." : "INSERTED.") + member.Field.Name);
                }
            }

            if (returning.Table != null)
            {
                visitor.Output.Append(" INTO ");
                visitor.Output.Append(visitor.Dialect.GetIdentifier(returning.Table.Identifier()));
            }
        }
        private void VisitOutput(ExpressionVisitorContext context, ReturningClause returning)
        {
            if (returning == null)
            {
                return;
            }

            context.WriteLine();
            context.Write("OUTPUT ");

            if (returning.Members == null || returning.Members.Count == 0)
            {
                context.Write("INSERTED.*");
            }
            else
            {
                int index = 0;

                foreach (var member in returning.Members)
                {
                    if (index++ > 0)
                    {
                        context.Write(",");
                    }

                    context.Write((member.Mode == ReturningClause.ReturningMode.Deleted ? "DELETED." : "INSERTED.") + member.Field.Name);
                }
            }

            if (returning.Table != null)
            {
                context.Write(" INTO ");
                context.Write(context.Dialect.GetIdentifier(returning.Table.Identifier()));
            }
        }
 protected override void VisitReturning(IExpressionVisitor visitor, ReturningClause returning)
 {
     /*
      * 由于 MySQL 的 INSERT 语句不支持 RETURN|RETURNING 子句,故不输出任何内容,且不调用基类同名方法以避免生成错误的语句。
      */
 }
Ejemplo n.º 4
0
 protected override void VisitReturning(IExpressionVisitor visitor, ReturningClause returning, UpdateStatement statement)
 {
     /*
      * 由于 MySQL 的 UPDATE 语句不支持 RETURN|RETURNING 子句,故不输出任何内容,且不调用基类同名方法以避免生成错误的语句。
      */
 }