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(TaskCompletionSource
1
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, IReadOnlyDictionary
2 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。
使用 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, Action
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 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, IReadOnlyDictionary
2 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。