2014-01-14 7 views
1

Мы создаем это приложение .NET, используя Entity Framework в качестве нашего соединителя DB. Я знаю все о том, как выбрать правильный подход на основе ваших обстоятельств, таких как «у вас есть существующая база данных?», «Предпочитаете ли вы моделирование вместо кодирования». Но после некоторого чтения я обнаружил, что это не единственное, о чем можно подумать, поскольку процесс обновления базы данных, когда он уже находится в производстве, действительно важен, особенно для нас.Подход Entity Framework для производства

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

Для использования в производстве: База данных сначала, первая или первая модель?

+0

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

+0

Вы имеете в виду «вращаться» с развивающейся точки зрения скорости? – parek

ответ

3

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

Сначала мы управляем базой данных с использованием EF-кода, однако я не смог бы это сделать без одной чрезвычайно полезной функции Visual Studio: SQL Schema Compare. Я считаю, что эта функция доступна только в версиях Premium и Ultimate.

Каждый раз, когда наша модель меняется, я помещаю 2 копии схемы базы данных на свой локальный компьютер: новую версию и текущую производственную версию. Если вы используете Schema Compare, используя новую версию в качестве источника и производственной версии в качестве цели, она создаст сценарий SQL, который вы можете запустить против своего производственного db, чтобы привести его схему и данные в соответствие с изменениями.

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

+0

Я действительно слышал о чем-то подобном. Таким образом, в основном сравнение схем базы данных разработки и производственной базы данных - правильный путь. Не могли бы вы сказать, кроме «перспективы кодирования», что есть какие-то преимущества использования кода сначала, чем использование модели в первую очередь? Обратите внимание, что все, о чем мы говорим, связано с окружающей средой, которая находится в производстве. – parek

+0

Код сначала дает вам больше контроля над классами сущностей. Любой подход, который использует T4 для генерации сущностей, отнимает часть этого элемента управления. Вы можете выбрать, как объекты сопоставляются с таблицами и другими артефактами db, вместо того, чтобы позволить вам выбрать шаблон T4. – danludwig

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