public override void Execute(IDictionary<string, object> scope) { try { this.Status = OperationStatus.RUNNING; SqlConnection conn = scope["CONNECTION"] as SqlConnection; DatabaseExplorer exp = new DatabaseExplorer(conn, new SQLServerDefaultConf()); Schema schema = scope["SCHEMA"] as Schema; SqlServerCrudGenerator gen = new SqlServerCrudGenerator(null); string script = gen.Generate(schema); Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server(new ServerConnection(conn)); server.ConnectionContext.ExecuteNonQuery(script); Status = OperationStatus.COMPLETED; } catch (Exception ex) { this.Exception = ex; this.Status = OperationStatus.FAILED; throw ex; } }