1

所以我有一个基本的 3 层应用程序:

  1. 数据访问

  2. 商业逻辑

  3. 介绍

我的数据访问层是一个类库,我正在使用实体框架和 SQL Server 数据库文件

假设我的解决方案是这样构造的

我的解决方案

\MySolution.Data

    \MySolution.Data\App_Data\MySolutionDB.mdf

\MySolution.BusinessLogic

\Presentation

我要解决的问题是我需要为连接字符串获取数据库的文件夹相对路径,因为该项目不会总是部署到相同的文件夹结构中,因此必须动态创建连接字符串基于相对路径。

有人可以提供一些帮助。请?

PS我试过这个,但它不工作:

string.Format("Data Source=(LocalDB)\v11.0;AttachDbFilename={0}\\MySolutionDB.mdf;Integrated Security=True", AppDomain.CurrentDomain.GetData("DataDirectory"))

编辑:收到此错误消息,可能与问题无关...

与数据库的连接失败。连接字符串配置了无效的 LocalDB 服务器名称。这可能是由 MVC4 的预发布版本在“global.asax”中设置的。默认连接工厂现在在 web.config 中设置,因此应该删除 'global.asax' 中以 'Database.DefaultConnectionFactory = ' 开头的行。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=243166

4

1 回答 1

3

感谢wdosanjos指出我的愚蠢错误。

string.Format("Data Source=(LocalDB)\v11.0;AttachDbFilename={0}\\MySolutionDB.mdf;Integrated Security=True", AppDomain.CurrentDomain.GetData("DataDirectory"))

我没有逃脱\v11.0;它应该是\\v11.0;

于 2014-01-03T16:32:53.093 回答