/// <summary> /// Script create statements for metadata object /// </summary> private static string ScriptAsCreate( IBindingContext bindingContext, ConnectionInfo connInfo, ObjectMetadata metadata) { Scripter scripter = new Scripter(bindingContext.ServerConnection, connInfo); StringCollection results = null; if (metadata.MetadataType == MetadataType.Table) { results = scripter.GetTableScripts(metadata.Name, metadata.Schema); } else if (metadata.MetadataType == MetadataType.SProc) { results = scripter.GetStoredProcedureScripts(metadata.Name, metadata.Schema); } else if (metadata.MetadataType == MetadataType.View) { results = scripter.GetViewScripts(metadata.Name, metadata.Schema); } StringBuilder builder = null; if (results != null) { builder = new StringBuilder(); foreach (var result in results) { builder.AppendLine(result); builder.AppendLine(); } } return(builder != null?builder.ToString() : null); }
/// <summary> /// Not yet implemented /// </summary> private static string ScriptAsDelete( IBindingContext bindingContext, ConnectionInfo connInfo, ObjectMetadata metadata) { Scripter scripter = new Scripter(bindingContext.ServerConnection, connInfo); StringCollection results = null; ScriptingOptions options = new ScriptingOptions(); options.ScriptDrops = true; switch (metadata.MetadataTypeName) { case ("Table"): results = scripter.GetTableScripts(metadata.Name, metadata.Schema, options); break; case ("View"): results = scripter.GetViewScripts(metadata.Name, metadata.Schema, options); break; case ("StoredProcedure"): results = scripter.GetStoredProcedureScripts(metadata.Name, metadata.Schema, options); break; case ("Schema"): results = scripter.GetSchemaScripts(metadata.Name, metadata.Schema, options); break; case ("Database"): results = scripter.GetDatabaseScripts(metadata.Name, metadata.Schema, options); break; default: results = null; break; } StringBuilder builder = null; if (results != null) { builder = new StringBuilder(); foreach (var result in results) { builder.AppendLine(result); builder.AppendLine(); } } return(builder != null?builder.ToString() : null); }