使用Entity Framework,可以启用迁移并创建迁移步骤。但是有没有一种中间方式可以更改模型,并自己处理数据库架构更改?我不想删除数据库,因为有未来的生产schenario。
现在 - 没有启用迁移 - 我首先使用代码,当我在DbSet中创建另一个属性时 - 让我们假设例如在表'ExistingTable'int NewField {get;设置;}
在SQL中,我使用更新我的架构
更改表ExistingTable添加列NewField int not null
数据库知道新字段的存在,Entity Framework / C#知道该属性,但是在运行时,由于模型的改变,仍然需要一些隐藏的检查来删除我的数据库。 问题:我可以覆盖某个设置,以便初始化“Code First”可以先转换为数据库吗?
答案 0 :(得分:0)
从数据库(Azure)中删除__MigrationHistory表确实对我有用。我自己做了(简单)数据库更改并发布了代码。一切都运行良好。还有另一种选择,见EF Code First Migrations Deployment to an Azure Cloud Service。对于一个简单的单向补丁(并且不需要更改历史记录),删除__MigrationHistory可以正常工作。