EF Core如何添加迁移 EF Core添加迁移(Add-Migration)方法

1次阅读

Add-Migration 是为 EF Core 数据库模型变更生成迁移代码的关键步骤,创建含 Up/Down 方法的迁移类,需确保工具包安装、启动项目设置正确、DbContext 可发现,并支持 PMC 或 CLI 方式执行。

EF Core如何添加迁移 EF Core添加迁移(Add-Migration)方法

在 EF Core 中执行 Add-Migration 是为数据库模型变更生成迁移代码的关键步骤。它不会直接修改数据库,而是创建一个继承MigrationsDbContext 的迁移类(含 UpDown 方法),记录你对实体、关系或配置的改动。

确保项目环境已就绪

添加迁移前需确认以下几点:

  • 项目中已安装 microsoft.EntityFrameworkCore.Tools(用于包管理器控制台)或 Microsoft.EntityFrameworkCore.Design(用于 .net CLI)
  • 启动项目(如 Web API 或 mvc 项目)已设为默认启动项目,或通过 -Project / --project 明确指定含 DbContext 的项目
  • DbContext 类已正确配置(例如在 Program.cs 中通过 AddDbContext 注册),且能被工具发现

使用包管理器控制台(PMC)添加迁移

visual studio 的“工具 → NuGet 包管理器 → 包管理器控制台”中运行:

Add-Migration InitialCreate -Context applicationDbContext

  • InitialCreate 是迁移名称,可自定义(如 AddUserEmail
  • -Context 参数指定具体 DbContext 类型名,多上下文时必须提供
  • 若提示“找不到 DbContext”,检查是否选对了默认项目(右上角下拉框),或显式加 -StartupProject

使用 .NET CLI 添加迁移

在命令行(终端)中,定位到含 DbContext 的项目目录,运行:

EF Core如何添加迁移 EF Core添加迁移(Add-Migration)方法

Docky AI

多合一AI浏览器助手,解答问题、绘制图片、阅读文档、强化搜索结果、辅助创作

EF Core如何添加迁移 EF Core添加迁移(Add-Migration)方法 100

查看详情 EF Core如何添加迁移 EF Core添加迁移(Add-Migration)方法

dotnet ef migrations add AddOrderStatus –context ApplicationDbContext

  • add 是 CLI 中对应 Add-Migration 的子命令
  • --context 同样用于指定上下文类型,大小写敏感
  • 若报错 “No project was found”,请确认当前目录下有 .csproj 文件,且已安装 dotnet-ef 全局工具(dotnet tool install --global dotnet-ef

常见问题与注意事项

迁移不是万能的自动同步工具,需人工核对:

  • 生成的迁移文件会放在 Migrations/ 目录下,打开查看 Up(MigrationBuilder migrationBuilder) 是否准确反映了你的改动(比如字段重命名可能被识别为删+增,丢失数据)
  • 若模型改动涉及数据迁移(如拆分列、转换值),需手动在 Up 方法中补充 migrationBuilder.sql("...") 或使用 InsertData/UpdateData
  • 误操作后想撤回:删除刚生成的迁移文件 + 对应快照(*ModelSnapshot.cs),再重新 Add-Migration;不要仅删文件而不删快照

基本上就这些。只要环境配对、上下文明确、命名清晰,Add-Migration 就是轻量又可靠的起点。

text=ZqhQzanResources