2016-03-08 6 views
1

Мы используем метод переноса первой части Entity Framework на некоторое время. Все работает хорошо, однако наша папка Migrations растет с многочисленными файлами миграции из-за изменений, которые мы делаем на схеме сущности. Мне было любопытно, есть ли способ, чтобы мы могли обновлять только одно или определенное количество файлов всякий раз, когда есть изменение в сущности, чтобы наша папка Migrations выглядела менее грязной. Кроме того, я не хочу отказываться от таблицы и воссоздавать ее, так как я потеряю все сохраненные данные.Первая миграционная схема Entity Framework

+0

знакомства Криса здесь о свертывать ваши миграции: http://cpratt.co/migrating-production-database-with-entity-framework-code-first/#at_pco=smlwn-1.0&at_si=54ad5c7b61c48943&at_ab= per-12 & at_pos = 0 & at_tot = 1 –

ответ

3

Вы можете просто объединить все свои миграции в новый файл (если вас не беспокоит сохранение каждой миграции).

Для этого просто удалите каждую миграцию в настоящее время в папке и запустите команду enable-migrations, а затем команду add-migration.

Enable-Migrations 

add-migration InitialCreate 
+0

Как это работает, когда вы развертываете его для клиентов, у которых есть предыдущая схема? Он не работает и говорит, что объекты уже существуют для большинства элементов в Up() – monkeyjumps

0

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

Database.SetInitializer(
new MigrateDatabaseToLatestVersion<YourDbContext, 
DataLayer.Migrations.Configuration>()); 
блог
Смежные вопросы