【问题标题】:System.IO.EndOfStreamException when scaffolding Npgsql.EntityFrameworkCore.PostgreSQL database搭建 Npgsql.EntityFrameworkCore.PostgreSQL 数据库时出现 System.IO.EndOfStreamException
【发布时间】:2022-12-19 15:33:43
【问题描述】:

我正在尝试使用以下命令搭建现有的 Postgres 数据库

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

这导致以下异常:

Npgsql.NpgsqlException (0x80004005): 从流中读取时出现异常 ---> System.IO.EndOfStreamException:试图读取流的末尾。 在 Npgsql.Internal.NpgsqlReadBuffer.g__EnsureLong|41_0(NpgsqlReadBuffer 缓冲区,Int32 计数,布尔异步,布尔 readingNotifications) 在 Npgsql.Internal.NpgsqlReadBuffer.g__EnsureLong|41_0(NpgsqlReadBuffer 缓冲区,Int32 计数,布尔异步,布尔 readingNotifications) 在 Npgsql.Internal.NpgsqlConnector.RawOpen(SslMode sslMode,NpgsqlTimeout 超时,布尔异步,CancellationToken cancellationToken,布尔 isFirstAttempt) 在 Npgsql.Internal.NpgsqlConnector.g__OpenCore|191_1(NpgsqlConnector conn,SslMode sslMode,NpgsqlTimeout 超时,布尔异步,CancellationToken cancellationToken,布尔 isFirstAttempt) 在 Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout 超时,布尔异步,CancellationToken cancellationToken) 在 Npgsql.ConnectorPool.OpenNewConnector(NpgsqlConnection conn,NpgsqlTimeout 超时,布尔异步,CancellationToken cancellationToken) 在 Npgsql.ConnectorPool.g__RentAsync|28_0(NpgsqlConnection conn,NpgsqlTimeout 超时,布尔异步,CancellationToken cancellationToken) 在 Npgsql.NpgsqlConnection.g__OpenAsync|45_0(布尔异步,CancellationToken cancellationToken) 在 Npgsql.NpgsqlConnection.Open() 在 Npgsql.EntityFrameworkCore.PostgreSQL.Scaffolding.Internal.NpgsqlDatabaseModelFactory.Create(DbConnection dbConnection,DatabaseModelFactoryOptions 选项) 在 Npgsql.EntityFrameworkCore.PostgreSQL.Scaffolding.Internal.NpgsqlDatabaseModelFactory.Create(字符串连接字符串,DatabaseModelFactoryOptions 选项) 在 Microsoft.EntityFrameworkCore.Scaffolding.Internal.ReverseEngineerScaffolder.ScaffoldModel(字符串连接字符串、DatabaseModelFactoryOptions 数据库选项、ModelReverseEngineerOptions 模型选项、ModelCodeGenerationOptions codeOptions) 在 Microsoft.EntityFrameworkCore.Design.Internal.DatabaseOperations.ScaffoldContext(字符串提供程序,字符串 connectionString,字符串 outputDir,字符串 outputContextDir,字符串 dbContextClassName,IEnumerable1 schemas, IEnumerable1 表,字符串 modelNamespace,字符串 contextNamespace,布尔 useDataAnnotations,布尔 overwriteFiles,布尔 useDatabaseNames,布尔 suppressOnConfiguring,布尔 noPluralize) 在 Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContextImpl(字符串提供程序、字符串 connectionString、字符串 outputDir、字符串 outputDbContextDir、字符串 dbContextClassName、IEnumerable1 schemaFilters, IEnumerable1 tableFilters、字符串 modelNamespace、字符串 contextNamespace、布尔 useDataAnnotations、布尔 overwriteFiles、布尔 useDatabaseNames、布尔 suppressOnConfiguring , 布尔值 noPluarlize) 在 Microsoft.EntityFrameworkCore.Design.OperationExecutor.ScaffoldContext.<>c__DisplayClass0_0.<.ctor>b__0() 在 Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.b__0() 在 Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(动作动作)

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

谁能帮忙?我已经搜索过,但找不到解决此问题的方法

【问题讨论】:

  • 看起来像是连接到数据库的问题。你确定你的连接字符串没问题吗?

标签: c# postgresql entity-framework-core npgsql


【解决方案1】:

我有同样的问题。 我检查我的项目依赖关系在我的解决方案中。 我删除了额外的和未使用的依赖项,然后,我将用于每个依赖项的版本在所有项目中都设置为相同,问题就解决了! 我的 be it 也适合你。

【讨论】:

    猜你喜欢
    • 2016-11-01
    • 2012-07-16
    • 2016-05-19
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    相关资源
    最近更新 更多