You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Entity Framework仍尝试应用已删除的旧迁移

解决Entity Framework迁移残留旧版本的问题

具体修复步骤

  • 清理迁移快照与目录:检查项目Migrations目录下的[你的DbContext名称]ModelSnapshot.cs文件,这个文件是EF的模型快照,很可能残留了旧迁移的关联信息。直接删除整个Migrations目录(如果已经生成新迁移,先备份新迁移文件再删),然后重新生成新的初始迁移:
    dotnet ef migrations add NewInitialCreate
    
  • 确认连接字符串正确性:核对配置文件(比如appsettings.json)里的数据库连接字符串,确保指向的是你执行dotnet ef database drop后的目标库,避免误连到其他存有旧迁移记录的数据库。
  • 手动清理迁移历史表:如果数据库没被彻底删除,手动连接数据库找到__EFMigrationsHistory表,删除里面的旧迁移记录(如果表还存在),再执行迁移更新。
  • 彻底清理编译缓存:除了dotnet clean,手动删除项目根目录下的bin和obj文件夹,这两个目录里的旧编译文件可能带着旧迁移的缓存。删除后重新执行dotnet build,再生成新迁移并更新。
  • 强制指定目标迁移:如果已经有可用的新迁移,执行更新时直接指定新迁移的名称,强制EF应用它:
    dotnet ef database update NewInitialCreate
    

内容的提问来源于stack exchange,提问作者Mr Neptune

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 16:52:09