2012-06-26 6 views
0

Sql Azure не поддерживает изменение ключа таблицы. Существует работа: создать новую таблицу, перенести данные, удалить старую таблицу.Первая миграция кода EF - Изменение ключа таблицы Sql Azure

Из-за этого ограничения EF (4.3) не может перенести мою модель после изменения ключа таблицы.

Что я могу сделать, чтобы сначала получить код EF, чтобы принять новую базу данных после применения ручной работы? (Без того, чтобы бросить всю базу данных или нажмите на другие таблицы)

Благодаря

ответ

0

С небольшим количеством ручного редактирования вы можете получить все, что этого сделано внутри на основе миграции кода.

  • Измените ключ в своей модели (через аннотации или свободный API).
  • Запустите add-migration из консоли диспетчера пакетов, чтобы получить новый переход на основе кода.
  • Обмен сгенерированных шагов миграции в файле миграции с помощью метода create-transfer-delete-rename, требуемого Azure.

Теперь при запуске приложения обновление для изменения ключей будет выполнено с использованием пользовательских шагов миграции, подходящих для Azure, а не кода по умолчанию.

+0

Хм, я понимаю первые 2 шага, но как выглядит этот метод «create-transfer-delete-rename»? – Clement

+0

«create-transfer-delete-rename» означало, что работа вокруг вас начертала вас, хотя я не могу точно удалить-переименовать, если Azure не разрешает переименование. Вы должны проверить, что работает. Идея состоит в том, чтобы изменить код, сгенерированный любым кодом, необходимым для работы с Azure. –