原文:http://www.entityframeworktutorial.net/code-first/migration-in-code-first.aspx
EF Code-First在EF 4.3之前有不同的数据库初始化策略,如CreateDatabaseIfNotExists,DropCreateDatabaseIfModelChanges或DropCreateDatabaseAlways。
但是,这些策略存在一些问题,例如,如果你的数据库中已经存在数据(种子数据除外)或现有的存储过程,触发器等等,则这些策略会删除整个数据库并重新创建它,因此会丢失数据和其他DB对象。
EF4.3引入了一种自动更新数据库模式的迁移工具,当你的模型更改时,不会丢失任何现有数据或其他数据库对象。 它使用一个名为MigrateDatabaseToLatestVersion的新的数据库初始化程序。
有两种迁移:
- 自动迁移
- 基于代码的迁移
在下一节中了解自动迁移。