C# Code-First migration, up/down?

The Up method upgrades your database from its current state (represented by your previous migration) to the state expected by your current code migration. The Down method does the reverse operation - it removes all the changes from the current migration and reverts database to the state expected by the previous migration. It's like installing / uninstalling the migration. Only one of these methods is executed when you call update-database. To use the Down method you must explicitly specify the target migration for your upgrade. If the target migration is the old one, the migration API will automatically use the Down method and downgrade your database.


Just to add to @Ladislav Mrnka. I needed to use Down() for the first time and took me some time to make it work, so:

Update-Database -Target:201407242157114_46

Where my last migration is 47 (where new stuff was added). Here's a nice explanation of how to rollback the database and remove a bad migration.

Hope it might help other magician apprentices :)