Entity Framework 4.3 Ошибка миграции с существующей базой данных - PullRequest
2 голосов
/ 21 марта 2012

У меня есть существующая база данных, созданная с помощью EF 4.1. Затем я установил EF 4.3 и включил миграцию. Теперь я изменил имя сущности. Первая строка кода в методе Up () - DropForeignKey (). Если я запустил миграцию с помощью Update-Database, он выдает исключение «Не удалось удалить ограничение».

Проблема в том, что в ef 4.3 изменились соглашения об именах внешних ключей. В 4.3 они выглядят как «FK_Table_Table_Column_ID», в 4.1 как «Table_Table».

Как я могу это изменить?

Ответы [ 2 ]

2 голосов
/ 03 мая 2012

Вы можете позволить коду сначала воссоздать базу данных? Если вы сделаете это, все ключи будут воссозданы с использованием новых соглашений об именах.

Я написал сообщение в блоге об этом и о некоторых других вещах, на которые следует обратить внимание при обновлении до Entity Framework 4.3.

0 голосов
/ 02 апреля 2013

Ужасно.

Вы пытались установить Электроинструмент Entity Framework и позволить ему выполнить реинжиниринг вашей базы данных?Возможно, он лучше справится с существующим форматом имени FK в сгенерированном коде и поможет вам преодолеть это препятствие, не делая ничего более радикального, например, воссоздание совершенно новой БД и ручное копирование данных из старой в новую.

...