我正在写一些测试。我在嘲笑实体框架。昨天工作正常,我几乎可以肯定我昨天没有修改任何东西。 在我的测试项目的app.config中,我有这个连接字符串
<connectionStrings>
<add name="PublicAreaContext"
providerName="System.Data.SqlClient" connectionString="Server=.\SQLSERVER; ..." />
</connectionStrings>
现在我模拟我的实体框架上下文:
var mockContext = new Mock<PublicAreaContext>() { CallBase = true };
... // all my entities mocked
mockContext.Setup(x => x.SaveChanges()).Returns(1);
现在,当我开始测试时出现问题,并且上下文似乎是使用错误的连接字符串
创建的我不明白连接字符串的位置...我在解决方案SQLEXPRESS中寻找它并且我找不到任何东西。在我的服务器(SQLSERVER)中,我可以找到一个名为Castle.Proxy.PublicAreaContext的数据库。我认为是昨天一切正常的数据库。
您能告诉我可能出现的问题或如何正确设置连接字符串?
谢谢
答案 0 :(得分:0)
我已经解决了......
我认为当我模拟上下文时,上下文会更改其名称...所以找不到connectionString ... 我已经更改了我的上下文,添加了以下构造函数:
public partial class PublicAreaContext : DbContext, IDataContext
{
public PublicAreaContext()
: base("PublicAreaContext") //Here go the name of connection string
{
}
...
}