Ошибка Entity Framework при подключении к SQL Server Express после подключения / подключения в Visual Studio - PullRequest
3 голосов
/ 08 мая 2011

На случай, если я что-то делаю не так, я загрузил видео, чтобы вы могли видеть каждый мой шаг! Я могу воспроизвести эту ошибку.

Ссылка на видео

В основном - Начните новый проект 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."

Есть идеи, что это?

1 Ответ

0 голосов
/ 08 мая 2011

Я знаю, что для второго выпуска мне пришлось вручную отбросить базу данных, чтобы это исчезло.Я думаю, что это связано с моделью и метаданными для модели, которая не синхронизирована с базой данных.

...