EF CodeFirst 数据库的操作

时间:2022-08-17 21:42:12

生成数据库

首先需要通过Nuget安装Migration

这一步是初始化Migration操作。

首先打开程序包控制台, 工具——NuGet包管理器——程序包管理控制台

EF CodeFirst 数据库的操作

打开后,在控制台输入下面的命令,这个命令只需要在第一次的时候使用。

Enable-Migrations

输入完成后,会在我们的目录生成一个名为 Migrations 的文件夹

EF CodeFirst 数据库的操作

 

第二步,在控制台输入这个命令

Add-Migration InitialCreate

这一步是创建初始化的数据库,生成创建数据库表和相关设置的文件。一般这个文件名会是 yyyymmddhhmmss_Initial.cs

EF CodeFirst 数据库的操作

 

第三步是执行更新数据库的命令

Update-DataBase

将上面生成的数据库相关的语句,在web.config配置的关联数据库中进行更新。

 

更新数据库

以上是第一次数据库生成操作,而实际开发中,我们根据需求和功能会对数据库进行修改增删字段。

这个时候,千万不要在修改了Model中的实体类文件后,直接修改数据库的表,那样会报错的。我们也通过Nuget控制台来进行数据库的更新操作。

第一步,在控制台输入这个命令:

Add-Migration ‘操作说明’

这里的 “操作说明” 可以随便填写,主要是方便记录自己为什么更新数据,进行了什么更新操作。比如我们增加了一个表 User ,我们就可以写 “AddUserTable ”

运行完成后,我们会在Migrations的文件夹下面发现新增了一个文件,名为 yyyymmddhhmmsss_AddUserTable.cs。里面记录的就是我们创建User表的操作

EF CodeFirst 数据库的操作

 

第二步,在控制台输入:

Update-DataBase

我们最终的目的是要对数据库进行修改,所以最终我们要运行 更新数据库 的操作。

 

数据库修改操作回滚

有些时候,我们在更新数据库时,如果出现了错误的更新,这个时候,我们需要对上次的更新进行回滚操作

我们就输入以下命令:

Update-Database -TargetMigration 201801170457113_addUserTable

其中 “201801170457113_addUserTable” 就是我们回滚到哪一次对数据库的操作。

这个我们可以在 Migrations 文件夹中查看操作记录。选择我们需要回滚到的节点操作,将对应的文件名称复制过来就可以。