Невозможно запустить миграцию EF5 с существующей базой данных
Сперва я'прочитал эти вопросы / ответы:
EF-миграция сообщенияКак я могу остановить Add-Migration, проверяя, что в моей базе данных нет отложенных миграций при использовании миграций на основе кода?Сделать EF4.3 Code First Migrations игнорировать ожидающие миграцииПохоже, что это все для версий EF до EF5, и моя ситуация неКажется, эти ответы не подходят. Итак, позвольте мне описать мою ситуацию.
Мое приложение изначально было создано с использованием EF4, сначала модель. Я спроектировал свою базу данных с помощью дизайнера графического интерфейса и использовал ее для генерации базы данных.мы работали и собирали данные в базу данных в течение нескольких месяцев. Я действительно могутеряю эти данные.Я разветвил свой код, установил EF5 с NuGet и использовал EF Power Tools для генерации моей модели из моей базы данных, щелкнув правой кнопкой мыши новый проект библиотеки классов и выбрав.Entity Framework | Reverse engineer code first
Я был в состоянии плавно повторно сослаться на мой новый проект, преобразовать мой проект, чтобы использовать новый DbContext вместо ObjectContext, и удалил библиотеку классов EF4, в которой была моя старая модель. Программа отлично работает!Теперь я хочу попробовать автоматические миграции, которые яУ нас был небольшой опыт работы с Ruby on Rails. Вот'Что я сделал:
РанEnable-Migrations
, Было немного проблем из-за строк подключения и того, какой app.config использовался, но в конечном итоге получил его. Тем не мение,эта страница MSDN говорит, что это должно было автоматически сгенерировать первую миграцию, чтобы привести меня км уже в. Это нет.РанAdd-Migration InitialSchema
чтобы сделать то, что не былоt автоматически выполняется на шаге 1. Это сработало.Добавил свойство к одному из моих объектов модели, затем попытался запуститьAdd-Migration AddSerialToLogEntries
и был представлен с:Невозможно сгенерировать явную миграцию, поскольку ожидаются следующие явные миграции: [201307190100268_InitialSchema]. Примените ожидающие явные миграции, прежде чем пытаться создать новую явную миграцию.
Попытка применить миграцию к моей существующей базе данных не удалась, что неудивительно.
Другие ответы, которые я упоминал выше, в основном говорили, что яМне не повезло, но, как я уже сказал, это было для более старых версий Entity Framework. Есть ли у меня варианты здесь?
При написании этого вопроса я подумал, что смогу использовать SQL Server Management Studio для экспорта моих данных в сценарий SQL, удалить всю базу данных, позволить EF создать ее, а затем запустить сценарии, чтобы вернуть мои данные ... Я попробую завтра, когда у меня будет время, но я хотел бы услышать, есть ли другие варианты, как яЯ не уверен на 100%, что это сработает, и не хотел бы иметь ошибки в данных, вставленных в процесс.