尝试使用Entity Framework进行更新时,数据库中已存在名为"AspNetRoles"的对象

bra*_*aed 6 c# entity-framework-core asp.net-core

尝试使用Entity Framework进行更新时,我在ApplicationDbContext数据库中收到此错误.我用Google搜索过,在SO上尝试修复,但都无济于事.目前我只是在每次进行更改时删除我的数据库,但是一旦部署,这将不是一个选项.
这是错误:

PM> update-database -context applicationdbcontext System.Data.SqlClient.SqlException:数据库中已经有一个名为"AspNetRoles"的对象.at System.Data.SqlClient.SqlConnection.OnError(SqlException异常,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(TaskCompletionSource1完成,Boolean sendToPipe,Int32 timeout,Boolean asyncWrite,String methodName),位于Microsoft.EntityFrameworkCore的System.Data.SqlClient.SqlCommand.ExecuteNonQuery()中.2 parameterValues, Boolean closeConnection) at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary在Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator中的Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands,IRelationalConnection连接)上的Storage.Internal.RelationalCommand.Execute(IRelationalConnection连接,字符串executeMethod,IReadOnlyDictionary 2 parameterValues).在Microsoft.EntityFrameworkCore上的Microsoft.EntityFrameworkCore.Design.MigrationsOperations.UpdateDatabase(String targetMigration,String contextType)中的Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<> c__DisplayClass0_1.<.ctor> b__0()上迁移(String targetMigration) .Design.OperationExecutor.OperationBase.Execute(Action actio n)ClientConnectionId:b2628a7e-7024-471e-9be2-2d0b25f3ad3c错误号:2714,状态:6,类:16数据库中已存在名为"AspNetRoles"的对象.

context.Database.EnsureCreated()我的代码中没有使用过任何地方.

小智 0

最快的解决方案是:

  • 删除迁移文件夹
  • 删除数据库
  • 启用迁移
  • 添加初始迁移
  • 更新数据库

  • 这就是我一直在做的事情,但是一旦我启动我的应用程序,删除数据库就不再是一个可行的解决方案。 (7认同)