【问题标题】:NHibernate's SchemaUpdate in Entity Framework (code first)?NHibernate 在实体框架中的 SchemaUpdate(代码优先)?
【发布时间】:2014-04-04 09:45:20
【问题描述】:

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

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

Entity Framework 6.1+ 中是否有类似的东西?或者是否有 Entity Framework 的第 3 方开源库正在做类似于 SchemaUpdate 的事情?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多