public virtual void Initialize() { Schemas.ForEach(s => s.Initialize(Tables)); Tables.ForEach(t => t.Initialize(Schemas, Columns, PrimaryKeys, ForeignKeys, CheckConstraints)); Columns.ForEach(c => c.Initialize(Tables)); PrimaryKeys.ForEach(k => k.Initialize(Tables, PrimaryKeyColumns)); PrimaryKeyColumns.ForEach(c => c.Initialize(PrimaryKeys, Tables, Columns)); ForeignKeys.ForEach(k => k.Initialize(Tables, ForeignKeyColumns)); ForeignKeyColumns.ForEach(c => c.Initialize(ForeignKeys, Tables, Columns)); CheckConstraints.ForEach(c => c.Initialize(Tables)); }