Beispiel #1
0
        public List<Fact> GetFacts( Microsoft.SqlServer.Management.Smo.Database database )
        {
            var facts = new List<Fact>();
            foreach( Microsoft.SqlServer.Management.Smo.Table table in database.Tables )
            {
                var tableName = table.Name.ToLower();
                if( !tableName.StartsWith( "fact" ) )
                    continue;

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

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