在 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/