3.使用 Code First 迁移更新数据库

Posted ouyangkai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.使用 Code First 迁移更新数据库相关的知识,希望对你有一定的参考价值。

提示:基于官方教程

1.更新 SeedData 类,使它提供新列的值。 示例更改如下所示,但可能需要对每个 new Movie 块做出此更改。

context.Movie.AddRange(
new Movie
{
Title = "When Harry Met Sally",
ReleaseDate = DateTime.Parse("1989-2-12"),
Genre = "Romantic Comedy",
Price = 7.99M,


//增加以下
Rating = "R"
},


2.从“工具”菜单中,选择“NuGet 包管理器”>“包管理器控制台”。 在 PMC 中,输入以下命令:

   Add-Migration Rating
   Update-Database


Add-Migration 命令会通知框架执行以下操作:
Movie 模型与 Movie DB 架构进行比较。
创建代码以将 DB 架构迁移到新模型。
名称“Rating”是任意的,用于对迁移文件进行命名。 为迁移文件使用有意义的名称是有帮助的。
Update-Database 命令指示框架将架构更改应用到数据库。

如果删除 DB 中的所有记录,种子初始值设定项会设定 DB 种子,并将包括 Rating 字段。 可以使用浏览器中的删除链接,也可以从 Sql Server 对象资源管理器 (SSOX) 执行此操作。
另一个方案是删除数据库,并使用迁移来重新创建该数据库。 删除 SSOX 中的数据库:
在 SSOX 中选择数据库。
右键单击数据库,并选择“删除”。
检查“关闭现有连接”。
选择“确定”。
在 PMC 中更新数据库:
PowerShell

复制
Update-Database

以上是关于3.使用 Code First 迁移更新数据库的主要内容,如果未能解决你的问题,请参考以下文章

基于现有数据库的Code First模式迁移更新数据库

自创建数据库以来,支持上下文的模型已更改。考虑使用 Code First 迁移来更新数据库

Code First Migrations更新数据库结构(数据迁移)

Code First Migrations更新数据库结构(数据迁移)

支持“xxx”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库

EF命令行工具 migrate.exe 进行Code First更新数据库,6.3+使用ef6.exe