如何解决添加迁移失败并出现传输级错误的问题

时间:2019-04-04 13:09:40

标签: c# sql-server entity-framework

当我尝试将字符串字段添加到域对象中,然后运行add-migration时,出现以下错误:

  

PM> add-migration添加联系人字段   System.Data.SqlClient.SqlException(0x80131904):从服务器接收结果时发生了传输级错误。 (提供者:TCP提供程序,错误:0-远程主机强行关闭了现有连接。)---> System.ComponentModel.Win32Exception(0x80004005):远程主机强行关闭了现有连接

     在System.Data.SqlClient.SqlConnection.OnError处为

(SqlException异常,布尔值breakConnection,操作1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action 1 wrapCloseInAction)      在System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布尔调用方HasConnectionLock,布尔asyncClose)      在System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj,UInt32错误)      在System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync()      在System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket()      在System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer()      在System.Data.SqlClient.TdsParserStateObject.TryReadByteArray(Byte [] buff,Int32偏移量,Int32 len,Int32&totalRead)      在System.Data.SqlClient.TdsParserStateObject.TryReadString(Int32长度,字符串和值)      在System.Data.SqlClient.TdsParser.TryReadSqlStringValue(SqlBuffer值,字节类型,Int32长度,编码编码,布尔值isPlp,TdsParserStateObject stateObj)      在System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer值,SqlMetaDataPriv md,Int32长度,TdsParserStateObject stateObj,SqlCommandColumnEncryptionSetting columnEncryptionOverride,字符串columnName)      在System.Data.SqlClient.SqlDataReader.TryReadColumnData()      在System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i,布尔值readHeaderOnly)      在System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i,布尔setTimeout,布尔allowPartiallyReadColumn)      在System.Data.SqlClient.SqlDataReader.GetString(Int32 i)      在lambda_method(Closure,Shaper)      在System.Data.Entity.Core.Common.Internal.Materialization.Coordinator 1.ReadNextElement(Shaper shaper) at System.Data.Entity.Core.Common.Internal.Materialization.Shaper 1.SimpleEnumerator.MoveNext()      位于System.Data.Entity.Internal.LazyEnumerator 1.MoveNext() at System.Collections.Generic.List 1..ctor(IEnumerable 1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable 1源)处      在System.Data.Entity.Migrations.History.HistoryRepository.GetPendingMigrations(IEnumerable`1 localMigrations)      在System.Data.Entity.Migrations.DbMigrator.GetPendingMigrations()      在System.Data.Entity.Migrations.DbMigrator.Scaffold处(字符串migrationName,字符串名称空间,布尔值ignoreChanges)      在System.Data.Entity.Migrations.Design.MigrationScaffolder.Scaffold处(字符串migrationName,布尔值ignoreChanges)      在System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Scaffold(MigrationScaffolder脚手架)      在System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Run()      在System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)      在System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate)      在System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner运行器)      在System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold处(字符串迁移名称,字符串语言,字符串rootNamespace,布尔值ignoreChanges)      在System.Data.Entity.Migrations.AddMigrationCommand.Execute处(字符串名称,布尔值强制,布尔值ignoreChanges)      在System.Data.Entity.Migrations.AddMigrationCommand。<> c__DisplayClass2。<。ctor> b__0()      在System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(操作命令)   ClientConnectionId:5682a620-7a08-4c70-815f-591d8bf49ab6   错误号:10054,状态:0,类别:20   从服务器接收结果时发生传输级错误。 (提供者:TCP提供程序,错误:0-远程主机强行关闭了现有连接。)

我尝试了以下方法:

  • 我检查了所有连接字符串。
  • 我尝试添加从另一台计算机的迁移(失败,出现相同的错误)。
  • 我尝试将迁移添加到同一台服务器,但又添加到一个还原的数据库(失败,出现相同的错误)。
  • 我尝试将迁移从不同的应用程序添加到同一服务器,不同的数据库(完美运行)。
  • 我恢复了实时数据库,这比我的开发环境落后了几步。我调用的第一个更新数据库有效。之后的所有呼叫均失败,并出现相同的错误。

任何帮助将不胜感激。

0 个答案:

没有答案