Сначала развертывать базовый код Entity Framework

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

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

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

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

Полезны любые советы и справочные ссылки.

Спасибо.

Ответы

Ответ 1

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

Ответ 2

Вот шаги, которые я выполняю.

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

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