我的解决方案有一个带有数据库(我的DAL)的类lib项目,以及一个充当WCF服务层的Web项目.
我从Web项目添加对DAL项目的引用,当我编译时,我的数据库被复制到Web项目的Bin文件夹中.
attachdbfilename=|DataDirectory|\Test.mdf
我可以轻松地将数据库的副本放在App_Data文件夹中,但是,在开发的这个阶段我经常更改模式(通过DAL中的副本),并希望项目将拾取的版本复制到WCF图层bin文件夹.
我知道我可以改变默认的DataDirecty:
AppDomain.CurrentDomain.SetData("DataDirectory",path);
A)不使用硬编码的绝对路径,是否有更好的方法来使连接字符串使用bin文件夹?
B)如果我确实更改了默认的DataDirectory设置,我如何以编程方式获取bin文件夹的绝对引用?
<咆哮> Visual Studio 2010不应该足够聪明地实现项目类型,而不是将DB从引用的程序集中拉到bin文件夹中,而是使用App_Data文件夹吗? < /咆哮>
解决方法
在您的Web项目中,您应该能够通过以下方式找到路径:
string path = Server.MapPath("~/bin/Test.mdf");
然后,您可以在Global.ascx.cs中的Application_Start中设置路径
AppDomain.CurrentDomain.SetData("DataDirectory",path);
我意识到这回答了你问题的B部分而不是A部分.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。