如何使用实体框架代码第一个数据库进行增量开发。因为如果我更改某些类型的类型,它将重新生成数据库,这会导致丢失数据库中已存在的数据。我正在使用DropCreateDatabaseIfModelChanges
。除此之外还有什么东西可以执行alter quires而不是重新创建。
答案 0 :(得分:6)
EF Code First Migrations将在这里为您提供帮助,它目前在alpha / CTP中:Entity Framework Code First Migrations: Alpha,还可以查看ADO.NET team blog:
自发布EF以来我们听到的最一致的请求 4.1一直用于Code First的迁移解决方案 在建模更改时逐步演化数据库模式 时间。今天我们宣布发布我们的第一个社区 我们的Code First Migrations工作的技术预览版(CTP)。
答案 1 :(得分:0)
我记得,Microsoft文档告诉您确保不在生产环境中使用DropCreateDatabaseIfModelChanges
。该选项的目的是帮助您为测试运行提供基于代码的数据填充。在使用代码优先时,我还没有看到任何有助于增量更改的工具。在我工作的地方,我们使用数据库优先设置,并为每个新版本创建一个包含alter和insert语句的更改脚本。
答案 2 :(得分:0)
截至目前,你需要从数据库约定中删除元数据跟踪,并通过脚本或使用sql工具手动更新数据库,直到将新的约定添加到框架中