当我运行我的应用程序时,它表示自创建数据库以来支持我的上下文的模型已经改变。
我在我的模型中添加了一个字段,如:
public int? LocationId {get;set;}
我在数据库中添加了一个int
列,它可以为空。
我理解数据库中有_migrationsHistory
表现在不同步。
到目前为止我在QA中所做的只是删除所有表,然后运行只为我自动重新创建数据库的应用程序。
现在我想保留表中的数据,我该如何解决这个问题?
我添加了列,因此它应该可以工作,但是当它在启动期间执行验证时失败。
我有哪些选择?
答案 0 :(得分:1)
听起来你想使用Code-First Migrations(EF 4.3及更高版本)
这将允许您通过程序包管理器控制台根据模型的更改生成迁移文件。
您可以使用add-migration <name>
生成迁移文件,根据需要对其进行更改,然后使用update-database
手动更新。
如果您无意中破坏了某些内容,也可以回滚到任何迁移点。