【发布时间】:2011-07-13 17:19:55
【问题描述】:
我的解决方案有一个带有数据库(我的 DAL)的类库项目,以及一个充当 WCF 服务层的 Web 项目。
我从web项目中添加了对DAL项目的引用,在我编译的时候,我的数据库被复制到了web项目的Bin文件夹中。
Web.config 文件需要连接字符串。如果我使用:
attachdbfilename=|DataDirectory|\Test.mdf
它在 App_Data 文件夹中查找数据库。
我可以轻松地将 DB 的副本放在 App_Data 文件夹中,但是,在开发的这个阶段,我经常更改架构(通过 DAL 中的副本),并且希望项目能够获取版本复制到 WCF 图层 bin 文件夹。
我知道我可以用这个来改变默认的 DataDirecty:
AppDomain.CurrentDomain.SetData("DataDirectory", path);
A) 在不使用硬编码的绝对路径的情况下,有没有更好的方法来获取连接字符串以使用 bin 文件夹?
B) 如果我确实更改了默认 DataDirectory 设置,我如何以编程方式获取对 bin 文件夹的绝对引用?
<Rant>Visual Studio 2010 不应该足够聪明地实现项目类型,而不是将数据库从引用的程序集中拉到 bin 文件夹中,而是使用 App_Data 文件夹吗? </Rant>
【问题讨论】:
标签: c# visual-studio-2010 connection-string