Если вы получаете эту ошибку в VS 2012 и работаете в режиме отладки с помощью IIS Express, попробуйте переключиться на Visual Studio Development Server.
Я получал ту же ошибку в приложении asv.net mvc 4, использующем сначала код, с использованием Visual Studio 2012 на компьютере под управлением Windows 7, при работе с SQL Server LocalDb (сервер, не * .mdf), запущенном на локальном хосте. в режиме отладки.
Мой инициализатор помечен атрибутом DropCreateDatabaseIfModelChanges, и я вызываю Database.Initialize в Global.ascx.cs Application_Start. Если база данных удаляется и воссоздается, как, черт возьми, она может пожаловаться на отсутствующую таблицу миграции? Это было особенно неприятно, потому что я настроил другое веб-приложение, используя тот же подход, и он работал безупречно.
Даже удаление базы данных вручную перед запуском приложения не решило проблему.
Сравнивая «хорошее» приложение с «плохим», единственная разница заключалась в выборе веб-серверов. «Хорошее» приложение использовало Visual Studio Development Server; «плохо» используется IIS Express.
Я переключил «плохое» приложение на Visual Studio Development Server, и ошибка исчезла!
Сейчас у меня нет времени, чтобы разобраться с вопросом «почему», но, очевидно, что-то неверное кэшируется IIS Express.