-命名空间选项在 Scaffold-DbContext 中不被识别

-Namespace option is not recognized in Scaffold-DbContext

根据 MS DocsScaffold-DbContext 应该接受一个可选参数 -Namespace。但是,似乎 Scaffold-DbContext 无法识别此参数。我错过了什么吗?


命令错误:

Scaffold-DbContext "Server=.\SQLExpress;Database=Stock;Trusted_Connection=True;User Id=sa;Password=P@ssw0rd;" Microsoft.EntityFrameworkCore.SqlServer -Namespace Stock.Models.DTO

Scaffold-DbContext : A parameter cannot be found that matches parameter name 'Namespace'.
At line:1 char:151
+ ... P@ssw0rd;" Microsoft.EntityFrameworkCore.SqlServer -Namespace Stock.M ...
+                                                        ~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Scaffold-DbContext], ParameterBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Scaffold-DbContext

已安装的软件包:

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.4" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.4">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Relational.Design" Version="1.1.6" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.4" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.4">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>

-Namespace 适用于 EF Core 5.0 及更高版本。你的版本低于那个。请升级 EF Core

足以将包 EntityFrameworkCode.Tools 更新到 v 5.0 在撰写本文时,版本 5.0 是预发布版,勾选 "Include prerelease" 以使其出现在 NuGet 列表中(Visual Studio GUI)。