示例#1
0
 protected override Expression VisitInsert(DbInsertExpression insert)
 {
     this.Write("INSERT INTO ");
     this.WriteTableName(insert.Table.Name);
     this.Write("(");
     for (int i = 0, n = insert.Assignments.Count; i < n; i++)
     {
         DbColumnAssignment ca = insert.Assignments[i];
         if (i > 0)
         {
             this.Write(", ");
         }
         this.Write(ca.Column.Name);
     }
     this.Write(")");
     this.WriteLine(Indentation.Same);
     this.Write("VALUES (");
     for (int i = 0, n = insert.Assignments.Count; i < n; i++)
     {
         DbColumnAssignment ca = insert.Assignments[i];
         if (i > 0)
         {
             this.Write(", ");
         }
         this.Visit(ca.Expression);
     }
     this.Write(")");
     return(insert);
 }
示例#2
0
        protected override Expression VisitUpdate(DbUpdateExpression update)
        {
            this.Write("UPDATE ");
            this.WriteTableName(update.Table.Name);
            this.WriteLine(Indentation.Same);
            bool saveHide = this.HideColumnAliases;

            this.HideColumnAliases = true;
            this.Write("SET ");
            for (int i = 0, n = update.Assignments.Count; i < n; i++)
            {
                DbColumnAssignment ca = update.Assignments[i];
                if (i > 0)
                {
                    this.Write(", ");
                }
                this.Visit(ca.Column);
                this.Write(" = ");
                this.Visit(ca.Expression);
            }
            if (update.Where != null)
            {
                this.WriteLine(Indentation.Same);
                this.Write("WHERE ");
                this.Visit(update.Where);
            }
            this.HideColumnAliases = saveHide;
            return(update);
        }