2017-07-27 26 views
1

嘗試使用實體框架進行更新時,我收到了此錯誤與我的ApplicationDbContext數據庫。我搜索了一下,試圖在這裏修復,但都無濟於事。目前,我只是在每次進行更改時刪除數據庫,但是一旦部署完畢,這不會成爲選項。
這裏的錯誤:嘗試使用實體框架進行更新時,數據庫中已有一個名爲「AspNetRoles」的對象

PM> update-database -context applicationdbcontext System.Data.SqlClient.SqlException: There is already an object named 'AspNetRoles' in the database. 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, String executeMethod, IReadOnlyDictionary 2 parameterValues, Boolean closeConnection) 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.UpdateDatabase.<>c__DisplayClass0_1.<.ctor>b__0() at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action) ClientConnectionId:b2628a7e-7024-471e-9be2-2d0b25f3ad3c Error Number:2714,State:6,Class:16 There is already an object named 'AspNetRoles' in the database.

我還沒有在我的代碼中使用context.Database.EnsureCreated()任何地方。

回答

1

最快的解決方法是:

  • 刪除遷移文件夾
  • 刪除數據庫
  • 啓用的遷移
  • 添加初始遷移
  • 更新數據庫
+1

這就是我」已經做了,但刪除數據庫不會是一個可行的解決方案一旦我啓動我的應用程序。 –

相關問題