asp.net core系列 30 EF管理数据库架构--必备知识 迁移

目录

一.管理数据库架构概述

1.1. 迁移概述

1.2 安装命令工具

二. 命令演示

2.1 创建迁移

2.2 更新数据库

2.3 自定义迁移代码

2.3.1 空迁移

2.4 删除迁移

2.5 还原迁移

2.6 生成 SQL 脚本

2.7 在运行时应用迁移


一.管理数据库架构概述

EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步。一是以 EF Core 模型为基准,二是以数据库为基准。
(1)如果希望以 EF Core 模型为准,请使用迁移。 对 EF Core 模型进行更改时,此方法会以增量方式将相应架构更改应用到数据库,以使数据库保持与 EF Core 模型兼容。
(2)如果希望以数据库架构为准,请使用反向工程。 使用此方法,可通过将数据库架构反向工程到 EF Core 模型来生成相应的 DbContext 和实体类型。

1.1. 迁移概述

在开发期间,数据模型发生更改后,会与数据库不同步。 虽然可以删除该数据库,让 EF 创建一个新的数据库来匹配该模型,但此过程会导致数据丢失。迁移作用是指:在 EF Core 中使用迁移功能,能够以递增方式更新数据库架构,使其与应用程序的数据模型保持同步,同时保留数据库中的现有数据。

迁移包括 命令行工具和API,可协助执行以下任务:

(1) 创建迁移。 生成数据库更新的代码脚本,用来准备将应用模型同步到数据库。

(2) 更新数据库。通过“创建迁移”的代码脚本,同步数据库。

(3) 自定义迁移代码。有时需要修改或补充应用模型,并同步数据库。

(4) 删除迁移。 删除生成的迁移版本(该版本没有更新到数据库)。

(5) 还原迁移。 撤消回滚数据库更改(该版本已更新到数据库)。

(6) 生成 SQL脚本。 可能需要一个脚本来更新生产数据库,或者对迁移代码进行故障排除。

(7) 在运行时应用迁移。 如果在设计期间更新和运行脚本不是最佳选项时,可在运行时调用 Migrate() 方法。

1.2 安装命令工具

(1)对于Visual Studio开发,建议使用Package Manager Console(程序包管理器控制台)工具,使用windows上的PowerShell脚本。

          (2)对于其他开发环境,请选择.NET Core CLI工具,使用dotnet命令是跨平台的。

本篇使用Visual Studio开发,使用Package Manager Console工具来进行迁移管理,用PowerShell脚本,并附带上跨平台管理 的dotnet命令。还是使用Blog和Post应用模型来演示。

二. 命令演示

2.1 创建迁移

在定义初始化模型后,即应创建数据库。 若要添加初始迁移,请运行以下命令,其中InitialCreate属于自定义迁移类名,它继承了DbContext。

PowerShell dotnet
Add-Migration InitialCreate dotnet ef migrations add InitialCreate

关于准备工作和创建迁移注意事项这里不在说明ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值