为什么 DbMigration 中的 Up() 方法是抽象的而 Down() 方法是虚拟的 class
Why is the Up() method abstract and the Down() method virtual in the DbMigration class
如果您查看 System.Data.Entity.Migrations
命名空间中抽象 class DBMigration
的签名:
public virtual void Down();
public abstract void Up();
您会看到 Down()
标记为 virtual
,Up
标记为 abstract
。 virtual和abstract的区别在于一个抽象函数can have functionality in it.
Up()
函数有哪些默认功能,为什么 Down()
函数没有默认功能。
您需要覆盖 Up()
,而覆盖 Down()
是可选的。这对数据库迁移指令有意义。
另见 What is the difference between an abstract function and a virtual function?。
如果您查看 System.Data.Entity.Migrations
命名空间中抽象 class DBMigration
的签名:
public virtual void Down();
public abstract void Up();
您会看到 Down()
标记为 virtual
,Up
标记为 abstract
。 virtual和abstract的区别在于一个抽象函数can have functionality in it.
Up()
函数有哪些默认功能,为什么 Down()
函数没有默认功能。
您需要覆盖 Up()
,而覆盖 Down()
是可选的。这对数据库迁移指令有意义。
另见 What is the difference between an abstract function and a virtual function?。