gpt4 book ai didi

c# - 尝试使用 Entity Framework 更新时,数据库中已经有一个名为 'AspNetRoles' 的对象

转载 作者:太空狗 更新时间:2023-10-29 21:59:58 34 4
gpt4 key购买 nike

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

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, Action1 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, IReadOnlyDictionary2 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()

最佳答案

最快的解决方案是:

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

关于c# - 尝试使用 Entity Framework 更新时,数据库中已经有一个名为 'AspNetRoles' 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45347649/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com