c# - Entity Framework 中的 NHibernate 的 SchemaUpdate(代码优先)?

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

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

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

Entity Framework 6.1+ 中是否有类似的东西?或者是否有用于 Entity Framework 的第 3 方开源库正在执行类似于 SchemaUpdate 的操作?

最佳答案

是的,您可以使用内置的迁移框架(最佳解决方案)或 DropCreateDatabaseIfModelChanges。这些都是数据库初始化器的例子(IDatabaseInitializer implementations),前者更复杂但更强大,后者易于设置但在进行修改时会删除数据库。 像这样使用后者(存在其他选项,例如通过 .config 文件):

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

关于c# - Entity Framework 中的 NHibernate 的 SchemaUpdate(代码优先)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22859214/

相关文章:

c# - 基于现有表创建 ASP.net 登录系统?

c# - onbackpressed 找不到合适的方法来覆盖 xamarin

entity-framework - Entity Framework 加载关系

c# - EF5 收到此错误消息 : Model compatibility cannot be checked because the database does not contain model metadata

nhibernate - 将 MiniProfiler 的数据库分析与 NHibernate 结合使用

nhibernate - 如何抽象 NHibernate 以避免紧依赖和促进测试

c# - C# 中的 System.String 类型

c# - 我的 C# Windows 窗体应用程序是空白的?

.net - 一对一的可选关系,两端可选且两个 FK

c# - 从不同表中选择的休眠标准