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

执行dotnet ef migrations add命令未生成实际迁移文件问题求助

问题根因

从迁移命令的输出日志可以直接定位问题:Writing migration to 'D:\migrations\Tags\20210823160452_Tags.cs'.
你在-o参数中使用了开头带斜杠的路径/migrations/Tags,Windows系统下以斜杠开头的路径会被识别为磁盘根目录的绝对路径,所以迁移类文件被生成到了D盘根目录的migrations文件夹下,没有存放在Ecom.Data项目目录内,后续编译项目时不会包含这些迁移文件,自然查询不到迁移记录、更新数据库也只会生成空库。

解决步骤
  • 清理无效文件
    先删除D盘根目录下的migrations文件夹,再删除Ecom.Data项目中已生成的Migrations文件夹下所有内容,同时删除现有空的SQLite数据库文件。
  • 修正迁移命令的输出路径参数
    输出路径如果要放在当前Ecom.Data项目下的Migrations文件夹内,需要使用相对路径,不要在路径开头加斜杠:
    dotnet ef migrations add Init -o Migrations/Init -s ..\Ecom.API\
    
  • 验证迁移生成结果
    执行完上述命令后,检查Ecom.Data项目下的Migrations/Init目录是否已经生成了带时间戳前缀的迁移类文件,确认文件存在后执行迁移列表查询命令验证:
    dotnet ef migrations list -s ..\Ecom.API\
    
    此时可以看到刚刚创建的Init迁移记录。
  • 执行数据库更新
    确认迁移存在后执行更新命令即可生成带完整表结构的数据库:
    dotnet ef database update -s ..\Ecom.API\
    
优化建议

建议先更新EF Core工具版本,避免版本不兼容引发的隐性问题,执行命令:dotnet tool update --global dotnet-ef

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:30:05