2014-11-25 2 views
0

Я не понимаю понятие автоматической миграции.Включить автоматическую миграцию?

Установив AutomaticMigrationsEnabled = true; в классе Migrations.Configuration Я не могу найти место, где шаги миграции сохранены.

Как система Entity Framework распознает текущее состояние производственной базы данных и соответствующим образом обновит ее, когда, например, мое консольное приложение запускается в офисе клиента?

Любая информация об этом очень ценится.

+0

Я бы настоятельно рекомендовал использовать автоматические миграции вообще, а тем более на клиентском сайте. –

ответ

-1

Чтобы ответить на ваш первый вопрос: они нигде не хранятся. Автоматическая миграция означает, что миграция будет происходить без вашего участия. Создание файла миграции происходит только при ручной миграции. Единственная трассировка, с которой происходит автоматическая миграция, - это новая запись в таблице _MigrationHistory вашей базы данных, которая будет только сериализованной версией новой модели, а не вашими изменениями.

Чтобы ответить на ваш второй вопрос: вам не обязательно это делать. Когда вы работаете, ваш клиент не должен самостоятельно настраивать базу данных. Это просто ужасная идея.

+0

Я считаю, что это хорошая идея, чтобы клиенты обновляли свое приложение, когда захотят. Приложение должно автоматически распознавать текущее состояние базы данных и соответствующим образом переносить ее для новой версии. Я видел это раньше, и было очень удобно. [Идемпотентные сценарии миграции] (http://msdn.microsoft.com/en-us/data/jj591621.aspx#idempotent) выполняют именно эту задачу. Но я не знаю, как это делается с помощью автоматической миграции. – AxD

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