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