Sto ricevendo questo errore con il mio database ApplicationDbContext quando provo ad aggiornare con Entity Framework. Ho cercato su google, ho provato le correzioni qui su SO, ma tutto inutilmente. Attualmente sto solo cancellando il mio database ogni volta che apporto una modifica, ma una volta distribuito, non sarà un'opzione.
Ecco l'errore:
PM> update-database -context applicationdbcontext System.Data.SqlClient.SqlException: esiste già un oggetto denominato 'AspNetRoles' nel database. 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, String executeMethod , IReadOnlyDictionary2 parameterValues, Boolean closeConnection) 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) in Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase (String targetMigration, String contextType) in Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase. <> C__DisplayClass0_1. <. Ctor> b__0 ( ) in Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute (Azione azione) ClientConnectionId: b2628a7e-7024-471e-9be2-2d0b25f3ad3c Numero errore: 2714, Stato: 6, Classe: 16 Esiste già un oggetto denominato "AspNetRoles" in il database.
Non ho usato context.Database.EnsureCreated()
ovunque nel mio codice.
La soluzione più veloce è: