首先在Entity框架代码中进行增量数据库开发

时间:2011-08-20 15:59:36

标签: entity-framework entity-framework-4.1 ef-code-first

如何使用实体框架代码第一个数据库进行增量开发。因为如果我更改某些类型的类型,它将重新生成数据库,这会导致丢失数据库中已存在的数据。我正在使用DropCreateDatabaseIfModelChanges。除此之外还有什么东西可以执行alter quires而不是重新创建。

3 个答案:

答案 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)

目前版本的codefirst框架目前还没有增量数据库开发,但是它将包含在MVC 4附带的下一个版本的路线图中

截至目前,你需要从数据库约定中删除元数据跟踪,并通过脚本或使用sql工具手动更新数据库,直到将新的约定添加到框架中