EntityFramework 和 PostgreSQL '...get_Settings()' 失败

问题描述 投票:0回答:1

我有一个带有 .NET 6.0 的 C# Web API,并且想要使用实体框架搭建 PostgreSQL 数据库。 在执行以下命令时,我遇到错误,但没有太多关于可能出现问题的信息......

dotnet ef dbcontext scaffold "Host=pi;Database=mydb;Username=root;Password=mypw" Npgsql.EntityFrameworkCore.PostgreSQL --project=myAPI --verbose

出现以下错误:

Attempt by method 'Npgsql.EntityFrameworkCore.PostgreSQL.Scaffolding.Internal.NpgsqlDatabaseModelFactory.PopulateGlobalDatabaseInfo(Npgsql.NpgsqlConnection, Microsoft.EntityFrameworkCore.Scaffolding.Metadata.DatabaseModel)' to access method 'Npgsql.NpgsqlConnection.get_Settings()' failed.

服务器在 docker contianer 内的树莓派上运行,这个基础设施完全可以工作,因为我可以通过 shell 从我的设备连接到数据库。我使用最新的 docker 镜像版本的 postgresql。

以下是我安装的 nuget 软件包的版本:

  • Microsoft.EntityFrameworkCore (6.0.22)
  • Microsoft.EntityFrameworkCore.Design (6.0.22)
  • Microsoft.EntityFrameworkCore.Tools (6.0.22)
  • Npgsql.EntityFrameworkCore.PostgreSQL (6.0.22)
  • Swashbuckle.AspNetCore (6.5.0)

我也尝试自己创建dbContext,但是如果我想从数据库访问任何数据,也会发生同样的错误。可以建立连接,因为如果我更改连接字符串中的密码,则会发生身份验证异常。

c# postgresql entity-framework asp.net-core
1个回答
1
投票

我的设备上有一个 postgresql 进程在后台运行。我结束了该过程,现在一切正常。不知何故,我认为他们发生了冲突......

© www.soinside.com 2019 - 2024. All rights reserved.