把.net core版本升级到3.0以上后,做数据库迁移失败,我习惯在dos命令窗口做迁移,使用dotnet ef命令时提醒以下信息:
无法执行,因为找不到指定的命令或文件。
可能的原因包括:
*你拼错了内置的 dotnet 命令。
*你打算执行 .NET Core 程序,但 dotnet-ef 不存在。
*你打算运行全局工具,但在路径上找不到名称前缀为 dotnet 的可执行文件。
查找资料得知.net core3.0 以上版本dotnet ef命令不在是sdk的一部分,需要单独安装,使用如下命令:
dotnet tool install --global dotnet-ef
该命令默认安装的是最新版本,如果项目中使用的并不是最新版本,则还是不能使用,安装对应版本使用如下命令:
dotnet tool install --global dotnet-ef --version 3.1.1
不注意安装错误可使用卸载命令:
dotnet tool uninstall --global dotnet-ef
dotnet-ef安装成功后,还需要给项目引用nuget包:
dotnet add package Microsoft.EntityFrameworkCore.Design
注意对应版本,正常情况下到此步就可以执行迁移操作了。