На случай, если я что-то делаю не так, я загрузил видео, чтобы вы могли видеть каждый мой шаг! Я могу воспроизвести эту ошибку.
Ссылка на видео
В основном - Начните новый проект MVC 3 и используйте EF обычным способом для простого класса.
Я использовал следующую строку подключения:
<add name="databaseconnection" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|database.mdf;User Instance=true;Initial Catalog=database" providerName="System.Data.SqlClient" />
Когда я перехожу на сайт, Все работает нормально и как положено.
Теперь, если я попытаюсь дважды щелкнуть мышью по базе данных .mdf, чтобы открыть ее в Visual Studio, все прекратится!
Я могу подключаться и просматривать таблицы, как и ожидалось, но даже если я ничего не делаю и просто закрываю (и / или) удаляю соединение, при следующем входе в приложение я получаю следующую ошибку:
Один или несколько файлов не соответствуют
основной файл базы данных. если ты
пытаются прикрепить базу данных,
повторите операцию с правильным
файлы. Если это существующий
база данных, файл может быть поврежден
и должен быть восстановлен из резервной копии.
Не удается открыть базу данных "база данных"
запрашивается логином. Логин
не удалось. Ошибка входа пользователя
'WIL2-8EEA651803 \ Administrator. Журнал
файл 'c: \ Documents and
Настройки \ Администратор \ Мои
документы \ визуальная студия
2010 \ Projects \ TestingEF \ TestingEF \ App_Data \ database.ldf»
не соответствует первичному файлу. Это
может быть из другой базы данных или
журнал, возможно, был восстановлен
ранее.
Независимо от того, что я пытаюсь, я не могу переподключиться - единственное, что я могу сделать, - это переименовать базу данных и исходный каталог. Я уверен, что предыдущая версия MVC Movie Database Tutorial (до того, как они были обновлены до использования компактной среды) работала нормально, поэтому я не уверен, почему у меня возникают эти проблемы.
Итак, мой вопрос: что является причиной этого и что я должен делать вместо этого?
Далее, ошибка №1 в видео, это быстрая виртуальная машина XP, которую я использую для тестирования, и это происходит случайным образом, но на этот раз не произошло и никогда не происходило на основной машине - так что мне любопытно, но не то, что беспокоило. При попытке построить контроллер я получаю следующую ошибку:
"Unable to retrieve metadata for 'TestingEF.Models.blabla'. The provider did not return a ProviderManifestToken string."
Есть идеи, что это?