Ошибка базы данных в коде ASP.NET MVC3 EF4.1 - PullRequest
0 голосов
/ 20 марта 2012

Привет, у меня есть работающее приложение, которое использует прикрепленный mdf-файл со следующей строкой подключения:

<add name="SqlDataContext" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=true;User Instance=true;AttachDBFilename=|DataDirectory|\WPCloudApp26.mdf;Initial Catalog=WPCloudApp26;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />

Я использую шаблон облачного приложения Windows Phone, и у меня на компьютере работает эмулятор хранилища Azure

все работает нормально, пока я не выполню следующие шаги в первый раз:

  1. Я хочу просмотреть базу данных, поэтому дважды щелкаю файл app_data / WPCloudApp26.mdf в Visual Studio, когдаприложение не работает.когда я дважды щелкаю по нему, база данных открывается под подключениями к данным на панели обозревателя серверов, и я вижу базу данных и все таблицы.пока все хорошо
  2. Я сделал просмотр базы данных, поэтому я закрываю соединение, щелкая правой кнопкой мыши -> закрыть соединение.
  3. Я хочу снова запустить приложение, и когда я его запускаювесь ад распадаетсяя получаю следующее сообщение об ошибке:

Один или несколько файлов не соответствуют первичному файлу базы данных.Если вы пытаетесь присоединить базу данных, повторите операцию с правильными файлами.Если это существующая база данных, файл может быть поврежден и должен быть восстановлен из резервной копии. \ R \ nНе открыть базу данных \ "WPCloudApp26 \", запрошенную при входе в систему.Не удалось войти в систему. \ R \ nLogin не удалось для пользователя 'NT AUTHORITY \ NETWORK SERVICE'. \ R \ nLog файл 'C: \ Users \ michael \ Documents \ Visual Studio 2010 \ Projects \ WPCloudApp26 \ WPCloudApp26 \ WPCloudApp26.Web \ App_Data \WPCloudApp26.ldf 'не соответствует первичному файлу.Это может быть из другой базы данных или журнал может быть перестроен ранее.

исключение выдается для метода var firstItem = context.SqlSampleData.FirstOrDefault();

Это все, что бы я ни делал,я не могу запустить приложение снова.это сводит меня с ума, так как единственное, что может мне помочь, - это создать новое решение с другим именем (вот почему я попал на номер 26)

Что происходит?почему это происходит только после того, как я впервые пытаюсь просмотреть базу данных в visual studio?

Редактировать Я заметил, что изменение исходного каталога и файла mdf в строке подключения решает проблему.Так где же хранятся остатки имени БД?Как я могу очистить старые остатки?

1 Ответ

1 голос
/ 20 марта 2012

Не пытайтесь открыть файл .MDF, прикрепленный к SQL Server Express.Это, вероятно, нарушит согласованность между .MDF и файлом журнала.Подключитесь к серверу SQL Server Express с помощью обозревателя серверов или SQL Server Management Studio.(Существует также бесплатная версия для Express)

Если вы действительно хотите открыть .MDF в Visual Studio, то сначала отсоедините БД от SQL Server Express.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...