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); }
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); }
public static ExprIdentityInsert WithIdentityColumns(this ExprIdentityInsert original, IReadOnlyList <ExprColumnName> newIdentityColumns) => new ExprIdentityInsert(insert: original.Insert, identityColumns: newIdentityColumns);
public static ExprIdentityInsert WithInsert(this ExprIdentityInsert original, ExprInsert newInsert) => new ExprIdentityInsert(insert: newInsert, identityColumns: original.IdentityColumns);