public static Biml BuildBiml( BimlRequest request ) { // Configure SQL SMO var server = new Server( request.ServerName ); var scriptingOptions = new ScriptingOptions { Encoding = Encoding.UTF8 }; server.Script( scriptingOptions ); var database = new Microsoft.SqlServer.Management.Smo.Database( server, request.DatabaseName ); database.Refresh(); var bimlService = new BimlService(); var output = new Biml(); // Selectively build sections if ( request.HasConnections ) output.Connections = bimlService.GetConnections( server, database ); if ( request.HasDatabases ) output.Databases = bimlService.GetDatabases( database ); if( request.HasSchemas ) output.Schemas = bimlService.GetSchemas( database ); if (request.HasTables) { output.Tables = bimlService.GetTables( database, request.HasFactsAndDimensions ); } if (request.HasFactsAndDimensions) { output.Facts = bimlService.GetFacts( database ); output.Dimensions = bimlService.GetDimensions( database ); } return output; }
public static Biml BuildBiml(BimlRequest request) { // Configure SQL SMO var server = new Server(request.ServerName); var scriptingOptions = new ScriptingOptions { Encoding = Encoding.UTF8 }; server.Script(scriptingOptions); var database = new Microsoft.SqlServer.Management.Smo.Database(server, request.DatabaseName); database.Refresh(); var bimlService = new BimlService(); var output = new Biml(); // Selectively build sections if (request.HasConnections) { output.Connections = bimlService.GetConnections(server, database); } if (request.HasDatabases) { output.Databases = bimlService.GetDatabases(database); } if (request.HasSchemas) { output.Schemas = bimlService.GetSchemas(database); } if (request.HasTables) { output.Tables = bimlService.GetTables(database, request.HasFactsAndDimensions); } if (request.HasFactsAndDimensions) { output.Facts = bimlService.GetFacts(database); output.Dimensions = bimlService.GetDimensions(database); } return(output); }