public override void Visit(DisableForeignKey dfkCommand) { _Query.Append(ALTER).Append(TABLE).Append(FormatAttribute(dfkCommand.Table)).Append(SPACE).Append(NOCHECK).Append(CONSTRAINT).Append(ALL); }
public override void Visit(DisableForeignKey dfkCommand) { }
public override void Visit(DisableForeignKey dfkCommand) { _Query.Append(SET).Append(FOREIGN_KEY_CHECKS_0); }
public void DisableForeignKeys(string tableName) { if (_DisabledTableNames.Contains(tableName)) return; _DisabledTableNames.Add(tableName); DisableForeignKey dfk = null; switch (_Dialect.GetDisableForeignKeyScope()) { case DBDialect.ForeignKeyScope.None: return; case DBDialect.ForeignKeyScope.DataBase: if (_DisableDataBase) return; _DisableDataBase = true; dfk = new DisableForeignKey(DBDialect.ForeignKeyScope.DataBase); ExecuteCommand(dfk); break; case DBDialect.ForeignKeyScope.Table: dfk = new DisableForeignKey(DBDialect.ForeignKeyScope.Table); dfk.Table = tableName; ExecuteCommand(dfk); break; case DBDialect.ForeignKeyScope.Constraint: foreach (EntityMapping em in _Mapping.Entities) foreach (ReferenceMapping rm in em.References) for (int index = 0; index < rm.Rules.Count; index++) { RuleMapping rule = rm.Rules[index]; if (rule.Constraint != null && rule.Constraint != String.Empty && rule.ParentTable == tableName) { dfk = new DisableForeignKey(DBDialect.ForeignKeyScope.Constraint); if ((index == 0 && rule.ParentField == rm.EntityParent.IdFields) || (index != 0 && rule.ParentField == rm.Rules[index - 1].ChildField)) { dfk.Table = rule.ChildTable; } else { dfk.Table = rule.ParentTable; } dfk.Name = rule.Constraint; ExecuteCommand(dfk); } } break; } }
public override void Visit(DisableForeignKey dfkCommand) { _Query.Append(ALTER).Append(TABLE).Append(FormatTableAlias(dfkCommand.Table)).Append(SPACE).Append(DISABLE).Append(CONSTRAINT).Append(FormatTableAlias(dfkCommand.Name)); }
public abstract void Visit(DisableForeignKey dfkCommand);