Entity Framework Migrations переименовывает таблицы и столбцы

Я переименовал пару сущностей и их свойства навигации и сгенерировал новую миграцию в EF 5. Как обычно в случае переименований в миграциях EF, по умолчанию он собирался отбрасывать объекты и воссоздавать их. Это не то, что я хотел, поэтому мне пришлось создать файл миграции с нуля.

    public override void Up()
    {
        DropForeignKey("dbo.ReportSectionGroups", "Report_Id", "dbo.Reports");
        DropForeignKey("dbo.ReportSections", "Group_Id", "dbo.ReportSectionGroups");
        DropForeignKey("dbo.Editables", "Section_Id", "dbo.ReportSections");
        DropIndex("dbo.ReportSectionGroups", new[] { "Report_Id" });
        DropIndex("dbo.ReportSections", new[] { "Group_Id" });
        DropIndex("dbo.Editables", new[] { "Section_Id" });

        RenameTable("dbo.ReportSections", "dbo.ReportPages");
        RenameTable("dbo.ReportSectionGroups", "dbo.ReportSections");
        RenameColumn("dbo.ReportPages", "Group_Id", "Section_Id");

        AddForeignKey("dbo.ReportSections", "Report_Id", "dbo.Reports", "Id");
        AddForeignKey("dbo.ReportPages", "Section_Id", "dbo.ReportSections", "Id");
        AddForeignKey("dbo.Editables", "Page_Id", "dbo.ReportPages", "Id");
        CreateIndex("dbo.ReportSections", "Report_Id");
        CreateIndex("dbo.ReportPages", "Section_Id");
        CreateIndex("dbo.Editables", "Page_Id");
    }

    public override void Down()
    {
        DropIndex("dbo.Editables", "Page_Id");
        DropIndex("dbo.ReportPages", "Section_Id");
        DropIndex("dbo.ReportSections", "Report_Id");
        DropForeignKey("dbo.Editables", "Page_Id", "dbo.ReportPages");
        DropForeignKey("dbo.ReportPages", "Section_Id", "dbo.ReportSections");
        DropForeignKey("dbo.ReportSections", "Report_Id", "dbo.Reports");

        RenameColumn("dbo.ReportPages", "Section_Id", "Group_Id");
        RenameTable("dbo.ReportSections", "dbo.ReportSectionGroups");
        RenameTable("dbo.ReportPages", "dbo.ReportSections");

        CreateIndex("dbo.Editables", "Section_Id");
        CreateIndex("dbo.ReportSections", "Group_Id");
        CreateIndex("dbo.ReportSectionGroups", "Report_Id");
        AddForeignKey("dbo.Editables", "Section_Id", "dbo.ReportSections", "Id");
        AddForeignKey("dbo.ReportSections", "Group_Id", "dbo.ReportSectionGroups", "Id");
        AddForeignKey("dbo.ReportSectionGroups", "Report_Id", "dbo.Reports", "Id");
    }

Все, что я пытаюсь сделать, это переименоватьdbo.ReportSections вdbo.ReportPages а потомdbo.ReportSectionGroups вdbo.ReportSections, Затем мне нужно переименовать столбец внешнего ключа наdbo.ReportPages изGroup_Id вSection_Id.

Я удаляю внешние ключи и индексы, связывающие таблицы вместе, затем я переименовываю таблицы и столбец внешнего ключа, затем я снова добавляю индексы и внешние ключи. Я предполагал, что это сработает, но я получаю ошибку SQL.

Сообщение 15248, уровень 11, состояние 1, процедура sp_rename, строка 215 Либо параметр @objname является неоднозначным, либо заявленный @objtype (COLUMN) неверен. Сообщение 4902, уровень 16, состояние 1, строка 10 Не удается найти объект "dbo.ReportSections", так как он не существует или у вас нет разрешений.

Мне нелегко понять, что здесь не так. Любое понимание было бы чрезвычайно полезно.