我不确定,但我认为我的连接字符串不正确。 情况就是这样。 我有一个测试项目。在测试项目中,app.config文件包含与我用于主mvc app web.config文件的连接字符串相同的连接字符串。它看起来像这样:
<add name="GiftExchangeEntities" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\GiftExchange.mdf;Initial Catalog=GiftExchange;Integrated Security=True" providerName="System.Data.SqlClient" />
但是当我在测试项目中运行我的测试时,我得到了这个例外:
测试方法GiftExchange.Tests.DataLayerTests.GiftTests.GetAll抛出异常: System.Data.DataException:初始化数据库时发生异常。有关详细信息,请参阅InnerException。 ---&GT; System.Data.Entity.Core.EntityException:基础提供程序在Open上失败。 ---&GT; System.Data.SqlClient.SqlException:无法将文件'C:\ TFS \ GiftExchange \ GiftExchange.Tests \ bin \ Debug \ GiftExchange.mdf'作为数据库'GiftExchange'附加。
所以我知道这是不正确的因为这不是GiftExchange.mdf文件所在的位置!它位于
C:\ TFS \ GiftExchange \ GiftExchange \程序App_Data \ GiftExchange.mdf
如何在不使用配置文件中的完整显式路径的情况下将配置文件中的路径更改为指向App_Data中的mdf文件?