C# NpgsqlException:“异常”;未知消息代码:74“;论dotnetef数据库更新

C# NpgsqlException:“异常”;未知消息代码:74“;论dotnetef数据库更新,c#,postgresql,.net-core,entity-framework-migrations,dotnet-cli,C#,Postgresql,.net Core,Entity Framework Migrations,Dotnet Cli,当我第一次尝试更新(从模型构建表)PostgreSQL数据库时,我发现了以下异常: dotnet ef database update Npgsql.NpgsqlException(0x80004005):未知消息代码:74 在C:\projects\Npgsql\src\Npgsql\Util\PGUtil.ValidateBackendMessageCode(BackendMessageCode代码)中的Npgsql.Util.PGUtil.ValidateBackendMessageCo

当我第一次尝试更新(从模型构建表)PostgreSQL数据库时,我发现了以下异常:

dotnet ef database update
Npgsql.NpgsqlException(0x80004005):未知消息代码:74 在C:\projects\Npgsql\src\Npgsql\Util\PGUtil.ValidateBackendMessageCode(BackendMessageCode代码)中的Npgsql.Util.PGUtil.ValidateBackendMessageCode中:第63行 在c:\projects\Npgsql\src\Npgsql\NpgsqlConnector.cs中的Npgsql.NpgsqlConnector.c_uu显示Class160_0.d.MoveNext():第894行 ---来自引发异常的上一个位置的堆栈结束跟踪--- 在C:\projects\Npgsql\src\Npgsql\NpgsqlConnector.Auth.cs中的Npgsql.NpgsqlConnector.Authenticate(字符串用户名、NpgsqlTimeout超时、布尔异步)处 在C:\projects\Npgsql\src\Npgsql\NpgsqlConnector.cs:第393行中的Npgsql.NpgsqlConnector.Open(NpgsqlTimeout timeout,Boolean async,CancellationToken CancellationToken)处 在c:\projects\Npgsql\src\Npgsql\NpgsqlConnection.cs中的Npgsql.NpgsqlConnection.c\uuu显示class32\u 0.d.MoveNext():第241行 ---来自引发异常的上一个位置的堆栈结束跟踪--- 在C:\projects\Npgsql\src\Npgsql\NpgsqlConnection.cs中的Npgsql.NpgsqlConnection.Open()处:第119行 位于Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlDatabaseCreator.Exists()处 在Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists()中 位于Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(字符串targetMigration) 位于Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration,String contextType) 位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(字符串targetMigration,字符串contextType) 在Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.c__DisplayClass0_0.b_0()中 位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(操作) 未知消息代码:74


不幸的是,我找不到有关此异常的任何线索,正如您所看到的,此异常完全不清楚。

经过数小时的调查、阅读类似错误并研究的源代码,我怀疑是通信问题

还有宾果。问题的根源是我的同事犯下了错误的端口号

public class IdentityResourceContextFactory : IDesignTimeDbContextFactory<IdentityResourceContext>
    {
        public IdentityResourceContext CreateDbContext(string[] args)
        {
            var optionsBuilder = new DbContextOptionsBuilder<IdentityResourceContext>();
            optionsBuilder.UseNpgsql("Username=postgres;Password=p@$$word;Host=localhost;Port=3306;Database=Identity;");

            return new IdentityResourceContext(optionsBuilder.Options);
        }
    }
我知道它可能与异常消息完全无关,因此我在这里分享它

Username=postgres;Password=p@$$word;Host=localhost;Port=5432;Database=Identity;