2012-03-14 3 views
35

Есть ли способ отключить миграцию в Entity Framework 4.3.1? Я удалил папку миграции из проекта и сгенерированные таблицы в моей базе данных, но это не сработало! Как удалить миграцию?Как отключить миграцию в Entity Framework 4.3.1?

+1

Что вы подразумеваете под * it not works *? –

+0

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

+11

Попробуйте добавить 'Database.SetInitializer (null)' для запуска вашего приложения. –

ответ

35

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

Database.SetInitializer<YourContextType>(new CreateDatabaseIfNotExists<YourContentType>()); 
+9

new CreateDatabaseIfNotExists () – njebert

+1

В каком классе/файле это действительно происходит? – jep

+1

@jep, точка входа для вашего приложения. Например. 'global.asax.cs' или' Program.Main'. – MEMark

4

То, как я получил вокруг этого был, чтобы убедиться, что я выключил автоматические Миграции в моем коде:

AutomaticMigrationsEnabled = false; 

, а затем я удалил _MigrationHistory таблицы из базы данных (это обычно создаются в виде таблицы системы, если вы не можете найти его)

+11

Голос за то, что вы так расплывчаты. Где именно в вашем коде вы включили эту команду? – JBeckton

+0

hmmm ... хороший вопрос JBeckton. прошло некоторое время с тех пор, как я просмотрел этот код, и я не думаю, что у меня все еще есть доступ к нему в любом месте. Я помню, что это было в разделе настройки Entity Framework моего кода. Не очень полезно, я знаю, поэтому извиняюсь за это. – Buzzrick

+7

Свойство 'AutomaticMigrationsEnabled' находится в /Migrations/Configuration.cs. –

31

Удаление папки Migrations для меня работало. У меня нет ошибок, он возвращает меня туда, где я начал.

+2

работал для меня тоже в EF6. – Luther

+0

. Папка Migrations где? Я первый код EF6 и, похоже, не имею нигде. Я, конечно, не сделал этого. –

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