If you look at the signature of the abstract class DBMigration
in the System.Data.Entity.Migrations
namespace:
public virtual void Down();
public abstract void Up();
You'll see that Down()
is marked virtual
and Up
is marked abstract
. The difference between virtual and abstract is that an abstract function can have functionality in it.
What kind of functionality can the Up()
function have default and why isn't it the case with th Down()
function.