为什么在DbMigration类中将Up()方法abstract和Down()方法设为虚拟

时间:2015-03-21 11:33:08

标签: c# entity-framework ef-migrations

如果查看DBMigration命名空间中抽象类System.Data.Entity.Migrations的签名:

public virtual void Down();
public abstract void Up();

您会看到Down()标记为virtualUp标记为abstract。虚拟和抽象之间的区别在于抽象函数can have functionality in it

Up()函数可以默认使用哪种功能,为什么不是Down()函数的情况。

1 个答案:

答案 0 :(得分:2)

您需要覆盖Up(),而覆盖Down()是可选的。这对数据库迁移指令很有意义。

另见What is the difference between an abstract function and a virtual function?