Using MigrationId.cs and MigrationId.Designer.cs as migration file names.
When the model differ detects a new table it creates a CreateTableOperation, and AddForeignKeyOperations, CreateIndexOperations for its foreign keys, respectively indexes. The table passed to the constructor of CreateTableOperation is the target table. Instead it should be
a clone of the target table that does not include foreign keys and indexes since these are handled separately.

Made public the Clone methods from the database model classes.