我使用了 Nuget 包管理器中的 MVCScaffolding,并遵循了有关其工作原理的简短教程。它看起来很简单,当我运行
Scaffold Controller Team –Repository -Force
它时,它将创建围绕“团队”的所有存储库模式的东西。
然而,为了尝试(并成功)打破这一点,我决定在“团队”类(myRandomField
)中添加一个额外的字段。正如我所料,当我编译时,在 MVC 视图中出现错误:
自创建数据库以来,支持“MvcApplication1Context”上下文的模型已更改。手动删除/更新数据库,或使用 IDatabaseInitializer 实例调用 Database.SetInitializer。例如,DropCreateDatabaseIfModelChanges 策略将自动删除并重新创建数据库,并可选择使用新数据为其播种。
显然这个错误是因为我已经更新了模型(代码优先??)并且数据库现在与我的模型“不同步”。
解决此问题的最佳方法是什么?是否有一种简单的方法可以与模型进行数据库同步 - 我计划对我的模型进行大量编辑,因为我开始的项目将逐渐推出(因此每次都进行完整的数据库重建是不可能的)在这种情况下,代码优先对我来说是正确的方法吗?我真的很喜欢这个插件/工具,如果不使用它会很可惜。