To put a bit more stress on EF Migrations I’ll simulate a scenario that should be quite common in a multi developer environment.
Developer A and B gets the latest code from the repository.
Developer A adds a column and checks in a migration.
Developer B adds another column and makes everything ready for checkin. During checkin Deveveloper B finds out about Developer A’s checkin, gets the latest version and then checks in.
When working in a team this is a common scenario. Especially in green field development where the database continously is expanded as more and more features are added.