Я использую Entity Framework 5.0 Перенос данных вместе с кодом. Когда я добавляю новое поле в свою модель и выполняю следующую команду в консоли диспетчера пакетов.
"Add-migration AddedField"
Все, что я получаю, это пустой перенос, называемый "n_AddedField", методы вверх и вниз не содержат логики.
Я попробовал кучу вещей, переустановил пакет EF nuget, очистил свое решение, перестроил, вручную удалил все сгенерированные файлы и каталоги.
Тогда я решил, что я откажусь от всех моих миграций и начну, а потом стало странно. После удаления всех моих миграций и таблицы migrationhistory в базе данных я воссоздал базу данных с помощью инициализатора CreateDatabaseIfNotExists. Сделав это, я смогу создать новую начальную миграцию. Но когда я пытаюсь создать новую миграцию, я получаю сообщение о том, что есть ожидающие миграции, и перечисляет все миграции, которые я только что удалил из своего проекта.
Я понятия не имею, почему и как EF все еще помнит эти миграции. Я даже попытался найти через файловые ресурсы, глядя, что миграции были сохранены где-то в другом месте или что-то в этом роде. Но ничего..
Миграции данных выглядят очень аккуратно, когда scott hansleman демонстрирует это на сцене, но для реальной работы я начинаю искать альтернативы.
Когда проект запустился, мы использовали EF 4.x и некоторое время назад переключились на 5.0, но поскольку коммутатор я успешно добавил кучу миграции.
Кто-нибудь знает, как решить эту проблему? В основном я просто хочу иметь возможность добавлять миграции и генерировать sql script с изменениями.