Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure.Internal.NpgsqlOptionsExtension 类型中的方法“get_Info”没有实现

tol*_*lga 3 .net c# asp.net-core

刚接触 .Net Core,我从 WebApi 开始。

我尝试将我的第一个模型迁移到 PostgreSQL 数据库。UserModel、UserContext 和 PostgreSQL 设置已准备就绪。当我:

dotnet ef migrations add initial
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Method 'get_Info' in type 'Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure.Internal.NpgsqlOptionsExtension' from assembly 'Npgsql.EntityFrameworkCore.PostgreSQL, Version=2.1.0.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7' does not have an implementation.
Run Code Online (Sandbox Code Playgroud)

这是我的包裹:

<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.8" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.8">
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
  <PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.1.0" />
<PackageReference Include="NpgSql.EntityFrameworkCore.PostgreSQL.Design" Version="1.1.1" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

dotnet --version:

dotnet --version
5.0.100-preview.2.20176.6
Run Code Online (Sandbox Code Playgroud)

我错过了什么?这是包版本不一致吗?谢谢你。

tol*_*lga 5

解决了。

EntityFramework 版本是 3.1,所以我为 PostgreSQL 安装了相同的版本:

dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL --version 3.1.0
Run Code Online (Sandbox Code Playgroud)