ASP.NET Web.config中的相对路径

ASP.NET Web.config中的相对路径,asp.net,Asp.net,我的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=&am

我的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_数据目录中的sqlite db

如何使链接相对,以便在生产环境中部署更容易

谢谢

您不能在连接字符串中使用“| DataDirectory |”而不是C:…\App\u Data吗?例如:


我知道这适用于部署在应用程序的app_data文件夹中的SQL Server Express数据库。但我不知道这是否适用于Entity Framework/SQLite。

我想您正在谈论这一点

C:\Documents and Settings\jdoe\Desktop\LcdManager\LcdManager\App_Data\monitor.sqlite
相反,试试这个

../../App_Data/monitor.sqlite
(不确定“../”的数量,但你知道了 ../../App_Data/monitor.sqlite

您尝试过吗

<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" />



在一台服务器上构建并部署到另一台服务器上时,这是否有效?只要您的数据库位于已部署应用程序的App_Data文件夹中。doh!是的,web.config未编译,duh me:-(这可能是正确的方法,而不是我的答案。
<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" />