BimlGen.BimlService.GetDimensions C# (CSharp) Метод

GetDimensions() публичный Метод

public GetDimensions ( Microsoft database ) : List
database Microsoft
Результат List
        public List<Dimension> GetDimensions( Microsoft.SqlServer.Management.Smo.Database database )
        {
            var dimensions = new List<Dimension>();
            foreach( Microsoft.SqlServer.Management.Smo.Table table in database.Tables )
            {
                var tableName = table.Name.ToLower();
                if( !tableName.StartsWith( "dim" ) )
                    continue;

                var bimlTable = new Dimension
                {
                    Name = table.Name,
                    SchemaName = database.Name + "." + table.Schema,
                    Columns = GetColumns( table ),
                    Indexes = GetIndexes( table ),
                    Keys = GetKeys( table ),
                };

                var annotations = GetAnnotations( table.ExtendedProperties );
                if( annotations.Any() )
                    bimlTable.Annotations = annotations;

                dimensions.Add( bimlTable );
            }
            return dimensions;
        }

Usage Example

Пример #1
0
        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;
        }
All Usage Examples Of BimlGen.BimlService::GetDimensions