20.翻译系列:Code-First中的数据库迁移技术【EF 6 Code-First系列】

时间:2023-05-09 12:34:01

原文链接:https://www.entityframeworktutorial.net/code-first/migration-in-code-first.aspx

EF 6 Code-First系列文章目录:

Entity Framework Code-First有很多不同的数据库初始化策略,例如:CreateDatabaseIfNotExists【创建数据库,如果不存在的话】、DropCreateDatabaseIfModelChanges【如果模型发生改变的话,就删除重建数据库】、DropCreateDatabaseAlways【总是删除重建数据库】。然而,对于这些数据库初始化策略,有一些弊端。例如:数据库中已经有数据(不是测试数据)或者已经存在了存储过程,触发器等,这些策略将会删除数据库,重新创建,所以你的数据和数据库对象将会丢失。

Entity Framework介绍了一个迁移工具,当你的模型发生改变的时候,自动更新数据库对象,而不用丢失数据及数据库对象。数据库迁移技术使用的是一个新的数据库初始化策略叫做--MigrateDatabaseToLatestVersion

这里有两种类型的数据库迁移:

1.自动迁移【Automated Migration】

2.基于代码的迁移【Code-Based Migration】

后面一节,我们先学习自动迁移。