EF Code First — кешированные данные миграции?

Сохраняет ли Entity Framework Code First Migrations данные миграции где-либо еще, кроме целевой базы данных и папки Migrations?

У меня есть странный сценарий, когда я добавил совершенно новый класс модели .NET и добавил его в свой контекст данных, но по какой-то причине он не добавляется в сгенерированный DbMigration, когда я делаю Add-Migrations. Как будто EF думает, что он уже там. Что подтверждает мое подозрение, что EF считает, что оно уже существует, так это то, что если я закомментирую некоторые свойства в моем новом классе .NET, сгенерированный DbMigration будет содержать вызовы DropColumn для удаления этих свойств! Однако я этого не понимаю, поскольку я полностью удалил целевую базу данных и удалил все файлы миграции, которые имеют какое-либо отношение к этому классу. Я не понимаю, как EF знает, что эти свойства когда-либо существовали.

Я пытался явно указать строку подключения при запуске Update-Database и Add-Migration, чтобы убедиться, что она не подключается где-то к другой копии базы данных. Это не делает другой, хотя.

Кэширует ли EF данные где-нибудь? Есть ли какое-то другое место, где хранится эта информация?


person Dan    schedule 02.02.2015    source источник


Ответы (1)


Я считаю, что это ответ; https://stackoverflow.com/a/25432088/1087768

По сути, чтобы заставить его снова работать, я удалил файлы базы данных и миграции и заново создал файлы миграции с помощью Add-Migration. Тогда Update-Database должно работать как положено.

person coni2k    schedule 22.05.2015