EF-生成迁移版本

Posted 夜月天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF-生成迁移版本相关的知识,希望对你有一定的参考价值。

前面讲到可以使用迁移技术让程序自动更新数据库中相关的结构。在我们每次需要新增模型类时,请一定要养成一个好的习惯,使用Add-Migration命令生成迁移版本。这样能恢复被误删除的表。

 

一、新增迁移版本

例如本次版本新增了一个CanteenCards类型,则在程序包管理器控制台中输入 Add-Migration AddCard命令。Add-Migration是新增迁移版本,AddCard是一个自定义的本次迁移版本的名称。如下图所示:

如果项目中存在多个DbContext的子类,在新增迁移的时候,需要指定迁移哪一个DbContext,即:Add-Migration -context DemoContext -name AddCard。

当成功执行Add-Migration命令之后,Migrations文件夹下就会新增一个代码文件,该代码文件的名称是 当前的时间+本次新增的迁移版本名称。如下图所示:

 

二、更新到数据库

以上操作成功后,接着再次在 程序包管理器控制台中输入update-database命令,将本次新增的模型类映射到数据库,在数据库中创建或修改相关的表结构。如下图所示:

如果存在多个DbContext的子类,则在更新到数据库的时候,需要指定更新哪一个DbContext,即:Update-Database -context DemoContext。

update-database命令执行成功之后,看一下数据库中的结果。如下图所示:

成功创建CanTeenCards表!

 

以上是关于EF-生成迁移版本的主要内容,如果未能解决你的问题,请参考以下文章

如何在 EF Core Code First 中自定义迁移生成?

EF Core 5.0 - 更改“定义查询”映射实体时是不是需要生成迁移?

EF Migrations 生成一个包含不再存在的数据的迁移文件

实体框架手动删除的表不能从EF迁移生成

笔记:EF出现列名 'Discriminator' 无效类没有加入数据库上下文也被数据迁移生成表

EF CodeFirst 通过代码生成数据库