【发布时间】:2013-09-17 18:10:29
【问题描述】:
我已经了解了如何使用连接字符串中的|DataDirectory| 来设置我的 wpf 应用程序的数据库文件所在的目录,但我希望更进一步。
如 msdn SqlConnection.ConnectionString Property 中所述,
通过使用 DataDirectory 替换字符串,路径可以是绝对的或相对的。如果使用 DataDirectory,则数据库文件必须存在于替换字符串指向的目录的子目录中。
现在,我想使用由应用程序控制的自定义 DatabaseLocation 属性设置完整位置,而不仅仅是 DataDirectory,因此我不需要处理连接字符串。
换句话说,我的连接字符串将来自这个:
connectionString="Data Source='|DataDirectory|\database.sdf'" providerName="System.Data.SqlServerCE.4.0"
进入这个:
connectionString="Data Source='|DatabaseLocation|" providerName="System.Data.SqlServerCE.4.0"
在代码中,我将读取用户配置并将方便的数据设置到适当的位置:
AppDomain.CurrentDomain.SetData("DatabaseLocation", someVarWithDatabaseLocation);
这样我就不需要someVarWithDatabaseLocation 的内容,从用户界面到业务再到数据访问并创建连接字符串。
这可能吗,还是只有|DataDirectory| 魔术标签被连接字符串构建器处理?
谢谢
【问题讨论】:
标签: c# wpf connection-string