'DbContextOptionsBuilder'不包含UseNpgsql()的定义

Kar*_*ena 2 c# asp.net-core-mvc asp.net-core-2.0

我通过在AddDbContext()Startup.cs的ConfigureServices方法中通过方法将连接字符串连接到PostgreSQL时遇到问题

我在调用函数时遇到此错误options.UseNpgsql() (请参见下图).

我已经看到了有关此问题的其他问题,但这些问题都是针对的usesqlserver(),而且它们也没有解决我的问

在此输入图像描述

Dav*_*idG 14

要检查两件事:

  1. 您是否缺少对Npgsql.EntityFrameworkCore.PostgreSQL Nuget包的引用?
  2. 你错过了正确的导入吗?该UseNpgsql()扩展方法是在Microsoft.EntityFrameworkCore这意味着你应该有这条线命名空间:

    using Microsoft.EntityFrameworkCore;
    
    Run Code Online (Sandbox Code Playgroud)

  • 我已经完成了这两件事,但仍然遇到同样的问题...我猜这与使用这些版本 5.X 有关?编辑:通过保存对 NuGet 包的更改来解决(您可以通过重新启动 Visual Studio 来完成此操作) (2认同)
  • 对于那些看得太快的人:这是 Npgsql.EntityFrameworkCore nuget 包,而不是您需要添加的 Microsoft.EntityFrameworkCore 包... (2认同)

Tan*_*aka 9

我通过检查所有这 3 个软件包是否已安装解决了这个问题:

Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore   
Npgsql.EntityFrameworkCore.PostgreSQL
Run Code Online (Sandbox Code Playgroud)

第三个是我的应用程序的问题。它没有安装。不要忘记在代码中需要时添加对任何这些包的引用。