.net core 从流读取时删除迁移和更新数据库实体框架核心异常时出错

.net core 从流读取时删除迁移和更新数据库实体框架核心异常时出错,.net-core,entity-framework-core,ef-code-first-mapping,.net Core,Entity Framework Core,Ef Code First Mapping,我正在使用restful服务和实体框架代码优先的方法在dotnet核心web api中工作。我正在运行一次迁移,当我使用add migration命令运行迁移时,生成成功,但当我尝试更新数据库或使用remove migration回滚迁移时,会出现以下错误: PM> remove-migration Build started... Build succeeded. Npgsql.NpgsqlException (0x80004005): Exception while reading

我正在使用restful服务和实体框架代码优先的方法在dotnet核心web api中工作。我正在运行一次迁移,当我使用add migration命令运行迁移时,生成成功,但当我尝试更新数据库或使用remove migration回滚迁移时,会出现以下错误:

 PM> remove-migration
Build started...
Build succeeded.
Npgsql.NpgsqlException (0x80004005): Exception while reading from stream
 ---> System.IO.EndOfStreamException: Attempted to read past the end of the stream.
   at Npgsql.NpgsqlReadBuffer.<>c__DisplayClass34_0.<<Ensure>g__EnsureLong|0>d.MoveNext()
   at Npgsql.NpgsqlReadBuffer.<>c__DisplayClass34_0.<<Ensure>g__EnsureLong|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Npgsql.NpgsqlConnector.<>c__DisplayClass160_0.<<DoReadMessage>g__ReadMessageLong|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Npgsql.NpgsqlConnector.Authenticate(String username, NpgsqlTimeout timeout, Boolean async)
   at Npgsql.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
   at Npgsql.NpgsqlConnection.<>c__DisplayClass32_0.<<Open>g__OpenLong|0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Npgsql.NpgsqlConnection.Open()
   at Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlDatabaseCreator.Exists()
   at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists()
   at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.GetAppliedMigrations()
   at Microsoft.EntityFrameworkCore.Migrations.Design.MigrationsScaffolder.RemoveMigration(String projectDir, String rootNamespace, Boolean force, String language)
   at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.RemoveMigration(String contextType, Boolean force)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.RemoveMigrationImpl(String contextType, Boolean force)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.RemoveMigration.<>c__DisplayClass0_0.<.ctor>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Exception while reading from stream
PM>删除迁移
构建已开始。。。
构建成功。
Npgsql.NpgsqlException(0x80004005):从流读取时发生异常
--->System.IO.EndOfStreamException:试图读取流的结尾。
在Npgsql.NpgsqlReadBuffer.c__DisplayClass34_0.d.MoveNext()中
在Npgsql.NpgsqlReadBuffer.c__DisplayClass34_0.d.MoveNext()中
---来自引发异常的上一个位置的堆栈结束跟踪---
在Npgsql.NpgsqlConnector.c_uuudisplayClass160_0.d.MoveNext()中
---来自引发异常的上一个位置的堆栈结束跟踪---
在Npgsql.NpgsqlConnector.Authenticate(字符串用户名,NpgsqlTimeout超时,布尔异步)
在Npgsql.NpgsqlConnector.Open处(NpgsqlTimeout超时、布尔异步、CancellationToken CancellationToken)
在Npgsql.NpgsqlConnection.c__DisplayClass32_0.d.MoveNext()中
---来自引发异常的上一个位置的堆栈结束跟踪---
在Npgsql.NpgsqlConnection.Open()处
位于Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.NpgsqlDatabaseCreator.Exists()处
在Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists()中
在Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.GetAppliedMigrations()中
位于Microsoft.EntityFrameworkCore.Migrations.Design.MigrationsScaffolder.RemoveMigration(String projectDir、String rootNamespace、Boolean force、String language)
位于Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.RemoveMigration(字符串contextType,布尔值强制)
位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.RemoveMigrationImpl(字符串上下文类型,布尔强制)
在Microsoft.EntityFrameworkCore.Design.OperationExecutor.RemoveMigration.c__DisplayClass0_0.b_0()中
在Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.c__DisplayClass3_0`1.b__0()中
位于Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(操作)
从流读取时发生异常

此问题已解决。我有一个工厂类,其中连接字符串没有更新到本地数据库。它指向dev,而我的secret.json指向localhost