BimlGen.BimlService.GetTables C# (CSharp) Method

GetTables() public method

public GetTables ( Microsoft database, bool splitFactsAndDimensions ) : List
database Microsoft
splitFactsAndDimensions bool
return List
        public List<Table> GetTables( Microsoft.SqlServer.Management.Smo.Database database, bool splitFactsAndDimensions )
        {
            var tables = new List<Table>();
            foreach (Microsoft.SqlServer.Management.Smo.Table table in database.Tables)
            {
                if (splitFactsAndDimensions)
                {
                    var tableName = table.Name.ToLower();
                    if (tableName.StartsWith( "dim" ) || tableName.StartsWith( "fact" ))
                        continue;
                }

                var bimlTable = new Table
                    {
                        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;

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

Usage Example

コード例 #1
0
ファイル: BimlGenerator.cs プロジェクト: jgsato/BimlGen
        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::GetTables