我的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="C:\Documents and Settings\jdoe\Desktop\LcdManager\LcdManager\App_Data\monitor.sqlite"'" providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
它指的是一个EntityFramework实例,它映射位于应用程序的App_Data目录中的sqlite数据库.
如何使链接相对,以便在生产环境中部署更容易?
谢谢
你不能使用"| DataDirectory |" 在连接字符串(而不是C:...\App_Data)?例如:
connectionString="... |DataDirectory|\monitor.sqlite ..."
Run Code Online (Sandbox Code Playgroud)
我知道这适用于部署在应用程序的app_data文件夹中的SQL Server Express数据库.但我不知道这是否适用于Entity Framework/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="./App_Data/monitor.sqlite"'" providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
要么
<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="|DataDirectory|/monitor.sqlite"'" providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7374 次 |
| 最近记录: |