Сначала разверните код Entity Framework - PullRequest
14 голосов
/ 07 апреля 2011

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

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

Если я внесу изменения в приложение, я не хочу потерять все данные, если приложение будет перезапущено.

Должен ли я просто сгенерировать сценарии БД из проекта с первым кодом, а затем переместить его на мой сервер?

Были бы полезны любые советы и ссылки.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 07 апреля 2011

На самом деле инициализатор базы данных предназначен только для разработки .Развертывание такого кода для производства - лучший способ избежать неприятностей.Code-first в настоящее время не имеет никакого подхода к эволюции базы данных, поэтому вы должны вручную создавать сценарии изменений для своей базы данных после новой версии.Самый простой подход - использовать инструменты базы данных в VS Studio 2010 Premium и Ultimate.Если у вас будет база данных со старой схемой и база данных с новой схемой и VS подготовит для вас скрипт изменения.

1 голос
/ 13 сентября 2011

Вот шаги, которым я следую.

  1. Закомментируйте любую стратегию инициализации, которую я использую.
  2. Создание сценариев базы данных для схемы + данные для всех таблиц, КРОМЕ таблицы EdmMetadata, и запуск их на веб-сервере. (Конечно, если это рабочий сервер, БУДЬТЕ ОСТОРОЖНЫ с этим шагом. В моем случае во время разработки данные в процессе производства и разработки идентичны.)
  3. Передайте мое решение для subversion, который затем запускает TeamCity для сборки, тестирования и развертывания на веб-сервере (конечно, у вас будет свой метод для этого шага, но каким-то образом разверните веб-сайт на веб-сервере).
  4. Все готово!

Инициализатор и таблицы EdmMetadata необходимы только для разработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...