我正在关注the docs为了创建初始迁移。当我执行 dotnet
时,我得到帮助部分,这意味着 PATH 工作正常。
然后我尝试从控制台窗口中的文档执行以下命令:
dotnet ef migrations add InitialCreate
我收到以下错误:
Could not execute because the specified command or file was not found.
Possible reasons for this include:
您拼错了内置 dotnet 命令。
您打算执行 .NET Core 程序,但 dotnet-ef 不存在。
您打算运行全局工具,但在 PATH 上找不到具有此名称的以 dotnet 为前缀的可执行文件。
自从复制命令以来,我排除了第一项。
我排除了第二项,因为已安装包 Microsoft.EntityFrameworkCore.SqlServer。
我排除了第三项,因为我在调用 dotnet 时获得了帮助部分。
我正在谷歌上搜索这个问题,但由于版本是新的,所以没有太多可继续的内容和/或它淹没在早期版本的类似问题中。
我尝试强制安装Microsoft.EntityFrameworkCore,以防需要显式添加它。我遇到了错误消息,告诉我可以选择的最新版本是 2.2.6,并且不能降级。我不确定如何安装与我的系统上已有的 SQL 包兼容的版本(更不确定这是否是解决此问题的正确方法)。
Detected package downgrade: Microsoft.EntityFrameworkCore from 3.0.0-preview6.19304.10 to 2.2.6. Reference the package directly from the project to select a different version.
Web ->
Microsoft.EntityFrameworkCore.SqlServer 3.0.0-preview6.19304.10 ->
Microsoft.EntityFrameworkCore.Relational 3.0.0-preview6.19304.10 ->
Microsoft.EntityFrameworkCore (>= 3.0.0-preview6.19304.10)
Web -> Microsoft.EntityFrameworkCore (>= 2.2.6)
请您参考如下方法:
要安装 dotnet-ef
工具,请运行以下命令:
.NET 7
dotnet tool install --global dotnet-ef
.NET 6
dotnet tool install --global dotnet-ef --version 6.*
.NET 5
dotnet tool install --global dotnet-ef --version 5.*
.NET Core 3
dotnet tool install --global dotnet-ef --version 3.*
<小时 />
有关 dotnet-ef
历史的更多信息,请参阅 announcement对于 ASP.NET Core 3 Preview 4,它解释了该工具已从内置更改为需要显式安装:
The dotnet ef tool is no longer part of the .NET Core SDK
This change allows us to ship
dotnet ef
as a regular .NET CLI tool that can be installed as either a global or local tool.