NHibernate的实体框架中的SchemaUpdate(代码优先)?

时间:2014-04-04 09:45:21

标签: c# entity-framework nhibernate ef-code-first entity-framework-6.1

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

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

Entity Framework 6.1+中是否有类似内容?或者是否存在实体框架的第三方开源库,它正在执行与SchemaUpdate类似的操作?

1 个答案:

答案 0 :(得分:1)

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

public class MyContext : DbContext
{
    static MyContext()
    {
        Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyContext>());
    }
}