Где Visual Studio (2010 Professional) размещает файлы MDF? - PullRequest
0 голосов
/ 11 июля 2011

Я сгенерировал базу данных через структуру сущностей. Вот строка подключения:

<add name="AnnouncementsContainer" connectionString="metadata=res://*/Models.Announcements.csdl|res://*/Models.Announcements.ssdl|res://*/Models.Announcements.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\Database.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

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

  • Обновления базы данных: Всякий раз, когда я обновляю базу данных с использованием необработанного кода SQL, мне приходится вручную размещать этот файл в SQL Server Management Studio (затем я отключаю базу данных, а остальное оставляю Visual Studio). Сервер отображается в обозревателе серверов Visual Studio, но Visual Studio не может подключиться к нему для запуска кода SQL. Где Visual Studio размещает этот файл, чтобы приложение могло попасть в базу данных, а IDE - нет?
  • Профилирование: Я создал несколько хранимых процедур для структуры сущностей и сопоставил их с сущностями. Было бы очень приятно увидеть, выполняются ли эти объекты на самом деле. Как увидеть хранимые процедуры, выполняемые с помощью такого инструмента, как SQL Profiler?

Вот несколько скриншотов на случай, если то, что я говорю, неясно:

SQL Server Management Studio:

SQL Server Management Studio

Visual Studio Server Explorer:

Visual Studio Server Explorer

1 Ответ

1 голос
/ 11 июля 2011

Как видите, ваша строка соединения содержит эту часть:

data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\Database.mdf;

Это означает, что он возьмет файл Database.mdf, хранящийся в вашем |DataDirectory| (по умолчанию это папка App_Data в веб-проектах), и динамически присоединит его к предоставленному экземпляру sqlexpress (в данном случае. \ Sqlexpress, что означает экземпляр sqlexpress, работающий на локальном хосте .\ с именем sqlexpress.

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