我创建了一个使用nhibernate连接到sql server精简版数据库的WCF REST服务。因此,我将NHibernate数据源配置为:
<property name="connection.connection_string">Data Source=[Path]\MyDb.sdf</property>
我现在遇到的烦恼是我无法弄清楚如何避免不得不在配置中写出绝对路径。这很烦人,因为我将数据库文件作为项目的一部分保留在App_Data文件夹中。所以我不必更新路径例如当我将项目部署到另一个位置时,即使绝对路径不同也是如此。
使用procmon时,我注意到,如果我没有在数据源配置中写入绝对值,它将被解释为相对于以下路径:* C:\Program Files(x86)\Common Files\Microsoft Shared\DevServer\10.0 *。
nhibernate是否有可能假设我们要改为将路径与应用程序bin文件夹相关联(这是我的App_Data/MyDb.sdf所在的位置)?
最佳答案
您应该使用:
Data Source=|DataDirectory|\MyDb.sdf
|DataDirectory|
指向App_Data
文件夹。
关于sql-server-ce - 配置文件中数据库文件的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6295614/