0

我通過實體框架生成了一個數據庫。這裏是連接字符串:Visual Studio(2010 Professional)主機MDF文件在哪裏?

<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管理工作室(我然後分離數據庫,其餘的視覺工作室)。服務器出現在Visual Studio服務器資源管理器中,但Visual Studio無法連接到它以運行SQL代碼。 Visual Studio託管此文件的位置在哪裏,以便應用程序可以訪問數據庫但IDE無法訪問?
  • 性能分析:我爲實體框架創建了一些存儲過程並將它們映射到實體。看看這些實體是否真的被執行真的很好。如何使用SQL Profiler等工具查看存儲過程的執行情況?

這裏有情況下,一些截圖我的意思是不明確的:

SQL Server Management Studio中:

SQL Server Management Studio

Visual Studio的服務器資源管理器:

Visual Studio Server Explorer

回答

1

當你看到你的連接字符串連續AINS這一部分:

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

這意味着,這將需要存儲在文件Database.mdf|DataDirectory|(默認爲在Web項目App_Data文件夾中),它會dinamically重視它提供的SQLEXPRESS實例(在這種情況下。 \ sqlexpress這意味着在localhost .\上運行的sqlexpress實例,名爲sqlexpress

+0

我也看到了。那麼,爲什麼我無法在SQL Server Management Studio中看到它,或者在Visual Studio中針對它運行代碼呢? – KPthunder

+0

您將不會在Management Studio中看到它,因爲它在運行時動態連接。對於Visual Studio,您可以使用服務器瀏覽器查詢MDF文件。 –

相關問題