2

在 NHibernate 中进行原型设计期间,我只是将一个属性添加到一个类中,然后SchemaUpdate将一个新列添加到数据库表中(如果可能的话)。

有一个类似的老问题:Updating database schema with Entity Framework Code First

Entity Framework 6.1+ 中是否有类似的东西?或者是否有一个 Entity Framework 的 3rd-party 开源库,它正在做类似的事情SchemaUpdate

4

1 回答 1

1

是的,您可以使用内置的 Migrations 框架(最佳解决方案)或 DropCreateDatabaseIfModelChanges。所有这些都是数据库初始化器(IDatabaseInitializer 实现)的示例,前者更复杂但更强大,后者易于设置但在修改时会丢弃数据库。使用后者(存在其他选项,例如通过 .config 文件):

public class MyContext : DbContext
{
    static MyContext()
    {
        Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyContext>());
    }
}
于 2014-10-06T08:42:35.300 回答