Usando ABP Core sono sempre rimasto aggiornato con i nuovi pacchetti NUGET. Quello che ho dimenticato è stato creare migrazioni. Mi sono appena trasferito su ABP4.2.0 quando ho realizzato che la mia ultima istantanea EF era di ABP3.5.0.
Ho creato una nuova migrazione con questo avviso:
Un'operazione è stata impalcata che può causare la perdita di dati. Si prega di rivedere la migrazione per la precisione.
Quindi ho provato ad aggiornare il database. Ho ottenuto questa eccezione come risultato:
System.Data.SqlClient.SqlException (0x80131904): Impossibile trovare l'oggetto "AbpEntityChangeSets" perché non esiste o non si dispone delle autorizzazioni. at System.Data.SqlClient.SqlConnection.OnError (eccezione SqlException, breakConnection booleano, azione
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
completamento1 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 booleano, timeout Int32, asyncWool booleano, methodName stringa) su System.Data.SqlClient.SqlCommand.ExecuteNonQuery () su Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute (connessione IRelationalConnection, DbCommandMethod executeMethod ,2 parameterValues) at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary
IReadOnlyDictionary 2Va2 parameterValues) at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary
2 parameterValues) su Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery (IEnumerable`1 migrationCommands, connessione IRelationalConnection) su Microsoft.EntityFrameworkCore.Migrations. Internal.Migrator.Migrate (String targetMigration) su Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase (String targetMigration, String contextType) su Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute (Azione azione)
È interessante notare che l'entità "AbpEntityChangeSets" era già definita nell'istantanea da aprile 2018. Ma l'entità non è mai stata trovata nel Database.
Aiuto molto apprezzato! Molte grazie.
Sembra che alcuni precedenti db-migration ABP siano stati modificati manualmente
Così abbiamo creato un nuovo modello ABP con v4.2.0 e riutilizzato le sue migrazioni di db.