abp实体不存在:AbpEntityChangeSets

abp entity not exist: AbpEntityChangeSets

使用 ABP Core,我始终了解最新的 NUGET 包。 我忘记的是创建迁移。当我意识到我的最后一个 EF 快照来自 ABP3.5.0 时,我刚转到 ABP4.2.0。

我创建了一个新的迁移并完成了这个警告:

An operation was scaffolded that may result in the loss of data. Please review the migration for accuracy.

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

System.Data.SqlClient.SqlException (0x80131904): Cannot find the object "AbpEntityChangeSets" because it does not exist or you do not have permissions. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 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(TaskCompletionSource1 completion, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite, String methodName) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary2 parameterValues) at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary2 parameterValues) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands, IRelationalConnection connection) at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration) at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)

有趣的是,实体 "AbpEntityChangeSets" 已在 2018 年 4 月的快照中定义。但该实体从未在数据库中找到。

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

看起来一些先前的 ABP 数据库迁移已被手动编辑

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