MVC首先从Code First切换到数据库 - 在不丢弃数据库的情况下改变模式

时间:2014-02-21 20:32:20

标签: entity-framework-5 code-first ef-database-first

使用Entity Framework,可以启用迁移并创建迁移步骤。但是有没有一种中间方式可以更改模型,并自己处理数据库架构更改?我不想删除数据库,因为有未来的生产schenario。

现在 - 没有启用迁移 - 我首先使用代码,当我在DbSet中创建另一个属性时 - 让我们假设例如在表'ExistingTable'int NewField {get;设置;}
在SQL中,我使用更新我的架构 更改表ExistingTable添加列NewField int not null

数据库知道新字段的存在,Entity Framework / C#知道该属性,但是在运行时,由于模型的改变,仍然需要一些隐藏的检查来删除我的数据库。 问题:我可以覆盖某个设置,以便初始化“Code First”可以先转换为数据库吗?

1 个答案:

答案 0 :(得分:0)

从数据库(Azure)中删除__MigrationHistory表确实对我有用。我自己做了(简单)数据库更改并发布了代码。一切都运行良好。还有另一种选择,见EF Code First Migrations Deployment to an Azure Cloud Service。对于一个简单的单向补丁(并且不需要更改历史记录),删除__MigrationHistory可以正常工作。