已经有一个名为' AspNetRoles'在尝试使用Entity Framework进行更新时在数据库中

时间:2017-07-27 10:08:24

标签: c# asp.net-core entity-framework-core

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

  

PM> update-database -context applicationdbcontext   System.Data.SqlClient.SqlException:已经存在一个名为' AspNetRoles'的对象。在数据库中。      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)      在System.Data.SqlClient.SqlCommand.ExecuteNonQuery()      at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection,String executeMethod,IReadOnlyDictionary 2 parameterValues, Boolean closeConnection) at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary 2 parameterValues)      在Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable`1 migrationCommands,IRelationalConnection连接)      在Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)      在Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration,String contextType)      在Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase。<> c__DisplayClass0_1。< .ctor> b__0()      在Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)   ClientConnectionId:b2628a7e-7024-471e-9be2-2d0b25f3ad3c   错误号码:2714,州:6,班级:16   已经有一个名为' AspNetRoles'在数据库中。

我的代码中没有使用context.Database.EnsureCreated()

1 个答案:

答案 0 :(得分:0)

最快的解决方案是:

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