Как я могу остановить миграции Entity Framework 5, добавив dbo. в ключевые имена?

Я начал проект с использованием Entity Framework 4.3 Code First с миграциями вручную и SQL Express 2008 и недавно обновил до EF5 (в VS 2010) и заметил, что теперь, когда я изменяю что-то вроде ограничения внешнего ключа, код миграции добавляет & quot; dbo. & Quot; в начале имени таблицы и, следовательно, имя внешнего ключа, которое она создает, является неправильным для существующих ограничений (и в целом теперь кажется странным именем).

Оригинальный скрипт миграции в EF 4.3 (примечаниеForeignKey("Products", t => t.Product_Id)):

    CreateTable(
        "Products",
        c => new
            {
                Id = c.Int(nullable: false, identity: true),
                ProductName = c.String(),
            })
        .PrimaryKey(t => t.Id);

    CreateTable(
        "KitComponents",
        c => new
            {
                Id = c.Int(nullable: false, identity: true),
                Component_Id = c.Int(),
                Product_Id = c.Int(),
            })
        .PrimaryKey(t => t.Id)
        .ForeignKey("Products", t => t.Component_Id)
        .ForeignKey("Products", t => t.Product_Id)
        .Index(t => t.Component_Id)
        .Index(t => t.Product_Id);

Сгенерированы имена внешних ключей: FK_KitComponents_Products_Product_Id FK_KitComponents_Products_Component_Id

Если я затем обновлюсь до EF5 и изменим внешний ключ, код миграции будет выглядеть примерно так (обратите внимание на"dbo.KitComponents" and "dbo.Products" в отличие от просто"KitComponents" and "Products"):

DropForeignKey("dbo.KitComponents", "Product_Id", "dbo.Products");
DropIndex("dbo.KitComponents", new[] { "Product_Id" });

и обновление базы данных завершается с сообщением: & APOS;FK_dbo.KitComponents_dbo.Products_Product_Id& APOS; это не ограничение. Не удалось отбросить ограничение. Смотрите предыдущие ошибки.

так что в EF5 название ограничения изменилось с FK_KitComponents_Products_Product_Id в FK_dbo.KitComponents_dbo.Products_Product_Id (с префиксом dbo.)

Как заставить EF5 вести себя так, как это было в EF 4.3, поэтому мне не нужно изменять каждый кусок нового миграционного кода, который он выплевывает?

Мне не удалось найти примечания к выпуску о том, почему это изменилось и что с этим делать :(

Ответы на вопрос(4)

Ваш ответ на вопрос