У меня есть обратная конструкция существующей базы данных для первой модели кода. Некоторые таблицы должны быть сохранены, но большинство из них должны быть удалены и полностью перепроектированы для новой версии.
Я удаляю несколько старых классов и их сопоставление и добавление-перенос.
Миграция выглядит следующим образом:
  public override void Up()
        {
            DropForeignKey("dbo.Bingo_Review", "BingoID", "dbo.Bingo");
            DropForeignKey("dbo.Bingo_Review_Text", "BingoReviewID", "dbo.Bingo_Review");
            DropForeignKey("dbo.Bingo_Bonus", "BingoID", "dbo.Bingo");
            DropForeignKey("dbo.Bingo_Bonus_Amount", "BingoBonusID", "dbo.Bingo_Bonus");
            DropIndex("dbo.Bingo_Bonus", new[] { "BingoID" });
            DropIndex("dbo.Bingo_Review", new[] { "BingoID" });
            DropIndex("dbo.Bingo_Review_Text", new[] { "BingoReviewID" });
            DropIndex("dbo.Bingo_Bonus_Amount", new[] { "BingoBonusID" });
            DropTable("dbo.Bingo_Bonus");
            DropTable("dbo.Bingo");
            DropTable("dbo.Bingo_Review");
            DropTable("dbo.Bingo_Review_Text");
            DropTable("dbo.Bingo_Bonus_Amount");
            DropTable("dbo.Bingo_Bonus_Type");
        }
Однако, когда я запускаю перенос, я получаю следующую ошибку в консоли диспетчера пакетов.
Could not drop object 'dbo.Bingo_Bonus' because it is referenced by a FOREIGN KEY constraint.
Почему я получаю эту ошибку, когда миграция должна была уже сбросить какие-либо внешние ключи до команды drop table? Есть ли способ обойти это?



