private IEnumerable <string> DropCommands(SqlSyntax syntax, DbObject drop) { var deps = drop.GetDependencies(Destination); foreach (var obj in deps) { foreach (var cmd in obj.DropCommands(syntax)) { yield return(syntax.ApplyDelimiters(cmd)); } } foreach (var cmd in drop.DropCommands(syntax)) { yield return(syntax.ApplyDelimiters(cmd)); } }