Add-Migration如何比较当前模型以发现差异
本文关键字:模型 发现 何比较 比较 Add-Migration | 更新日期: 2023-09-27 18:01:18
我正在学习使用EF Code First Migrations from https://msdn.microsoft.com/en-us/data/jj591621.aspx
某处写着:
Code First Migrations有两个您将要使用的主要命令熟悉。
Add-Migration将根据您的更改构建下一次迁移自从上次迁移被创建以来,对您的模型所做的
Update-Database将把所有挂起的迁移应用到数据库。
我不明白Add-Migration到底在做什么。更准确地说,我的问题是:
自从上次迁移创建以来
为了创建一个迁移,它应该选择两个数据库结构进行比较。显然,一边是代码中模型的当前结构。但是另一面是什么呢?选项为:
- 通过统一从初始迁移到最后一次迁移的所有迁移来填充数据库结构?
- 将其与具有旧结构的数据库进行比较?
检查迁移文件背后的代码—它们包含大量元数据,包括创建模型时的快照。
因此,当您运行Add-Migration
时,进程大致如下:
- 基于你的代码构建一个模型
- 从上次迁移中找到以前的模型(如果适用)
- 比较两种模型
- 根据差异生成迁移