2016-01-23 59 views
0

我試圖位於localdb位置如何工作?

C:\Users\Public\Documents\DevExpress Demos 15.2\DevExtreme\DXHotels 

Web.config中的開發快速演示應用程序的連接字符串

<add name="DXHotelsStore" connectionString="data source=(localdb)\devextreme;attachdbfilename=|DataDirectory|\HotelDB.mdf;integrated security=True;multipleactiveresultsets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> 

數據文件存在於

C:\Users\Public\Documents\DevExpress Demos 15.2\DevExtreme\DXHotels\App_Data\HotelDB.mdf 

解決方案文件是在

C:\Users\Public\Documents\DevExpress Demos 15.2\DevExtreme\DXHotels 

我不明白爲什麼位置(localdb)\ devextreme轉換爲.mdf所在的文件夾。

當我運行解決方案時,它如何解決位置問題?

[更新] question here解釋了爲什麼數據庫是在App_Data文件夾中創建的,但它不能解釋爲什麼使用(localdb)devextreme。

[更新] 下面的問題也與此有關 My support question at Dev Express My question about log files

+1

'| DataDirectory目錄映射到App_Data文件夾。 http://stackoverflow.com/questions/15320428/asp-net-connectionstring-attachdbfilename-datadirectory –

+0

我更新了問題,以顯示解決方案文件的位置。 –

回答

0

尼古拉在DevExpress的支持回答

「11.0」是安裝了的LocalDB時創建通用的SQL Server Express LocalDB實例。由於此實例的名稱取決於當前版本的Visual Studio,因此在啓動演示時可能會導致問題。這就是爲什麼我們不在連接字符串中使用這個名稱的原因。爲了解決這個問題,我們選擇了我們自己創建演示項目時創建的實例名稱。請參閱演示項目設置中的「生成事件」選項卡。

我在構建事件檢測和生成後事件命令行是

sqllocaldb create "devextreme" 2>nul 1>nul 
    sqllocaldb start "devextreme" 2>nul 1>nul 
    exit 0 
0

的LocalDB是一個面向開發人員的數據庫實例,它是不是一個實際的例子意味着沒有服務運行。從開發人員的角度來看,優勢在於不需要安裝或維護,因爲之前您曾使用SQL Server Express安裝或任何其他完整類型的SQL Server版本。 需要注意的是,您不會獲得命名管道,並且所有內容都與本地連接有關。另一方面,您仍然可以像往常一樣創建命名實例(也稱爲LocalDB私有實例),您可以使用(LocalDB)\連接到它們。由於在LocalDB上沒有真正的附件,所以指定數據庫的名稱就像一個「附屬」過程。 希望這有助於。

+0

因此(localdb)解釋說它是一個文件,但應用程序如何解決它的位置? –