脚手架Npgsql.EntityFrameworkCore.PostgreSQL数据库时出现System.IO.EndO



我正试图用以下命令构建一个现有的Postgres数据库

dotnet ef dbcontext scaffold "<connection string>" Npgsql.EntityFrameworkCore.PostgreSQL -v

导致以下异常:

Npgsql.NpgsqlException(0x80004005(:从流读取时发生异常--->System.IO.EndOfStreamException:试图读取超过流的末尾。位于Npgsql.Interal.NpgsqlReadBuffer.g_EnsureLong|41_0(NpgsqlReadBuffer缓冲区,Int32计数,布尔异步,布尔读取通知(位于Npgsql.Interal.NpgsqlReadBuffer.g_EnsureLong|41_0(NpgsqlReadBuffer缓冲区,Int32计数,布尔异步,布尔读取通知(在Npgsql.Interal.NpgsqlConnector.RawOpen(SslMode SslMode,NpgsqlTimeout timeout,Boolean async,CancellationToken cancellionToken,Boolean isFirstAttempt(位于Npgsql.Interal.NpgsqlConnector.g_OpenCore|1191_1(NpgsqlConnector连接,SslMode SslMode,NpgsqlTimeout超时,布尔异步,CancellationToken取消令牌,布尔isFirstAttempt(在Npgsql.Interal.NpgsqlConnector.Open(NpgsqlTimeout超时,布尔异步,CancellationToken取消令牌(在Npgsql.ConnectorPool.OpenNewConnector(NpgsqlConnection连接,NpgsqlTimeout超时,布尔异步,CancellationToken取消令牌(在Npgsql.ConnectorPool.g_RentAsync|28_0(NpgsqlConnection连接,NpgsqlTimeout超时,布尔异步,CancellationToken取消令牌(在Npgsql.NpgsqlConnection.g_OpenAsync|45_0(布尔异步,CancellationToken取消令牌(位于Npgsql.NpgsqlConnection.Open((位于Npgsql.EntityFrameworkCore.PostgreSQL.Sscaffolding.Internal.NpgsqlDatabaseModelFactory.Create(DbConnection DbConnection,DatabaseModelFactoryOptions选项(位于Npgsql.EntityFrameworkCore.PostgreSQL.Sscaffolding.Internal.NpgsqlDatabaseModelFactory.Create(String connectionString,DatabaseModelFactoryOptions选项(位于Microsoft.EntityFrameworkCore.Scaffolding.Internal.RiverseEngineerScaffolder.ScaffoldModel(字符串连接字符串,DatabaseModelFactoryOptions数据库选项,ModelReverseEngineerOptions模型选项,ModelCodeGenerationOptions代码选项(位于Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContext(字符串提供程序、字符串connectionString、字符串outputDir、字符串oututContextDir、String dbContextClassName、IEnumerable1 schemas, IEnumerable1表、字符串modelNamespace、字符串contextNamespace、布尔useDataAnnotations、布尔overwriteFiles、布尔useDatabaseNames、布尔suppressOnConfiguring、布尔noPluralize(位于Microsoft.EntityFrameworkCore.Design.OperationExecutior.ScaffoldContextImpl(字符串提供程序、字符串connectionString、字符串outputDir、字符串oututDbContextDir、String dbContextClassName、IEnumerable1 schemaFilters, IEnumerable1 tableFilters、字符串modelNamespace、字符串contextNamespace、布尔useDataAnnotations、布尔overwriteFiles、布尔useDatabaseNames、布尔suppressOnConfiguring、布尔noPluarize(位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContext。<gt;c_DisplayClass0_0。<。ctor>b_0((位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase。<gt;c__DisplayClass3_0`1.b_0((位于Microsoft.EntityFrameworkCore.Design.OperationExecutior.OperationBase.Execute(操作操作(

我在版本6.0.7上使用Npgsql.EntityFrameworkCore.PostgreSQL

有人能帮忙吗?我已经搜索过了,找不到这个问题的解决方案

我也遇到了同样的问题。我在解决方案中检查我的项目依赖项。我删除了额外的和未使用的依赖项,然后,我在所有项目中使每个依赖项使用的版本相同,问题解决了!我的天哪,它也适用于你。