2

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

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

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

ответ

2

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

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

+0

Но есть записи allready в db. – LuckyStrike

0

Гадкий.

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

Смежные вопросы