Ejemplo n.º 1
0
        public bool VisitExprIdentityInsert(ExprIdentityInsert expr, TCtx arg)
        {
            var res = this.Visit(expr, "IdentityInsert", arg, out var argOut) && this.Accept("Insert", expr.Insert, argOut) && this.Accept("IdentityColumns", expr.IdentityColumns, argOut);

            this._visitor.EndVisitExpr(expr, arg);
            return(res);
        }
Ejemplo n.º 2
0
        public override bool VisitExprIdentityInsert(ExprIdentityInsert exprIdentityInsert, IExpr?parent)
        {
            if (exprIdentityInsert.IdentityColumns.Count < 1)
            {
                return(exprIdentityInsert.Insert.Accept(this, exprIdentityInsert));
            }

            this.Builder.Append("SET IDENTITY_INSERT ");
            exprIdentityInsert.Insert.Target.Accept(this, exprIdentityInsert);
            this.Builder.Append(" ON;");

            var result = exprIdentityInsert.Insert.Accept(this, exprIdentityInsert);

            this.Builder.Append(";SET IDENTITY_INSERT ");
            exprIdentityInsert.Insert.Target.Accept(this, exprIdentityInsert);
            this.Builder.Append(" OFF;");
            return(result);
        }
Ejemplo n.º 3
0
 public static ExprIdentityInsert WithIdentityColumns(this ExprIdentityInsert original, IReadOnlyList <ExprColumnName> newIdentityColumns)
 => new ExprIdentityInsert(insert: original.Insert, identityColumns: newIdentityColumns);
Ejemplo n.º 4
0
 public static ExprIdentityInsert WithInsert(this ExprIdentityInsert original, ExprInsert newInsert)
 => new ExprIdentityInsert(insert: newInsert, identityColumns: original.IdentityColumns);