Подтвердить что ты не робот

AutomaticMigrationsEnabled false или true?

В проектах EF существует ли какая-либо передовая практика для установки AutomaticMigrationsEnabled?

Больше декларации:

В нашей команде после изменения модели мы обычно запускаем команды add-migration и "update-databse" в консоли диспетчера пакетов. Эта ошибка возникает, когда другие разработчики запускают проект:

"Невозможно удалить базу данных, поскольку она используется"

Каждый раз, когда это происходит, первый модификатор должен Check In весь проект, а другие должны иметь GET измененные объекты. Во многих случаях мы не хотим проверять уже созданную модель и миграцию!

Эта ситуация раздражает, есть ли какое-либо решение для такого рода проблем. спасибо заранее.

4b9b3361

Ответ 1

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

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

"Невозможно удалить базу данных, поскольку она используется"

Похоже, вы работаете над общей базой данных = show stopper. Каждый разработчик должен использовать свою собственную базу данных.

но не хотите проверять модель и миграцию, которые уже были созданы!

Это наилучшая практика, и если вы хотите продолжить миграцию на основе кода, вам придется следовать ей. Btw. существует практика, называемая "непрерывная интеграция" - при непрерывной интеграции вы должны получить сразу после того, как фиксация успешно построена и проходит тесты.

Ответ 2

От: http://msdn.microsoft.com/en-us/data/jj554735.aspx

Рекомендация для командной среды

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