2009-07-27 323 views
3

我在我的ASP.NET應用程序的Web.config以下標籤:相對路徑

<add name="monitorEntities" connectionString="metadata=res://*/Models.MonitorDB.csdl|res://*/Models.MonitorDB.ssdl|res://*/Models.MonitorDB.msl;provider=System.Data.SQLite;provider connection string='data source=&quot;C:\Documents and Settings\jdoe\Desktop\LcdManager\LcdManager\App_Data\monitor.sqlite&quot;'" providerName="System.Data.EntityClient" /> 

是指的EntityFramework實例映射位於的App_Data目錄中一個SQLite數據庫應用程序。

我該如何製作相關鏈接,以便在生產環境中部署更容易?

謝謝

回答

5

你試過

<add name="monitorEntities" connectionString="metadata=res://*/Models.MonitorDB.csdl|res://*/Models.MonitorDB.ssdl|res://*/Models.MonitorDB.msl;provider=System.Data.SQLite;provider connection string='data source=&quot;./App_Data/monitor.sqlite&quot;'" providerName="System.Data.EntityClient" /> 

<add name="monitorEntities" connectionString="metadata=res://*/Models.MonitorDB.csdl|res://*/Models.MonitorDB.ssdl|res://*/Models.MonitorDB.msl;provider=System.Data.SQLite;provider connection string='data source=&quot;|DataDirectory|/monitor.sqlite&quot;'" providerName="System.Data.EntityClient" /> 
6

不能使用「| DataDirectory |」在連接字符串中(而不是C:... \ App_Data)?例如:

connectionString="... |DataDirectory|\monitor.sqlite ..." 

我知道這適用於部署在應用程序的app_data文件夾中的SQL Server Express數據庫。但我不知道這是否適用於Entity Framework/SQLite。

+0

時是否建立在一個服務器上,並部署到其他工作? – 2009-07-27 10:18:38

+0

只要您的數據庫位於已部署應用程序的App_Data文件夾中即可。 – M4N 2009-07-27 10:20:37

+0

doh!是的,web.config沒有編譯,但我:-(這可能是正確的方式做到這一點,而不是我的答案。 – 2009-07-27 10:23:21

0

我假設你在談論這個有點

C:\Documents and Settings\jdoe\Desktop\LcdManager\LcdManager\App_Data\monitor.sqlite 

相反,試試這個

../../App_Data/monitor.sqlite 

(不知道的 '../' 的數量,但你的想法 。 ./../App_Data/monitor.sqlite