abp实体不存在:AbpEntityChangeSets

时间:2019-02-21 11:08:55

标签: c# asp.net-core entity-framework-core aspnetboilerplate

使用ABP Core,我始终与最新的NUGET软件包保持同步。 我忘记的是创建迁移。当我意识到我的上一个EF快照来自ABP3.5.0时,我才移至ABP4.2.0。

我创建了一个新迁移,并显示以下警告:

  

脚手架操作可能会导致数据丢失。   请检查迁移的准确性。

然后我尝试更新数据库。结果我得到了这个异常:

  

System.Data.SqlClient.SqlException(0x80131904):找不到   对象“ AbpEntityChangeSets”,因为它不存在或您不存在   有权限。在   System.Data.SqlClient.SqlConnection.OnError(SqlException异常,   布尔值breakConnection,动作1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource 1   完成,布尔值sendToPipe,Int32超时,布尔值asyncWrite,   字符串methodName)位于   System.Data.SqlClient.SqlCommand.ExecuteNonQuery()在   Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection   连接,DbCommandMethod executeMethod,IReadOnlyDictionary 2 parameterValues) at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary 2个parameterValues)位于   Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1   migrationCommands,IRelationalConnection连接)在   Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(字符串   targetMigration)   Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String   targetMigration,字符串contextType)位于   Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(操作   动作)

有趣的是,从2018年4月开始,快照中已经定义了实体“ AbpEntityChangeSets”。但是在数据库中永远找不到该实体。

非常感谢帮助!非常感谢。

1 个答案:

答案 0 :(得分:0)

好像以前的ABP数据库迁移已被手动编辑

因此,我们使用v4.2.0创建了一个新的ABP模板,并重新使用了它的db-migrations。