从测试项目测试实体框架5方法的错误

时间:2014-07-11 06:58:25

标签: c# visual-studio-2013 entity-framework-5

我创建了VS 2013 web api项目 我添加了EF 5数据模型并在此项目中生成代码 我写了一个使用EF 5插入数据的方法 我在同一个解决方案中创建了VS 2013测试项目,并添加了web api项目的参考 编写一个简单的测试方法,在执行此方法时,我收到的错误是配置文件中没有找到连接字符串,所以我在Test项目的配置文件中添加了连接字符串。

之后我得到了以下错误:

  

Model.MyModel.ssdl(2,2):错误0152:没有实体框架提供者   找到具有不变名称的ADO.NET提供程序   'System.Data.SqlClient的'。确保提供商已注册   应用程序配置文件的“entityFramework”部分。参见

然后我将entityFramework部分添加到我的测试项目

现在我收到以下错误

  

实体框架提供程序类型   “System.Data.Entity.SqlServer.SqlProviderServices,   EntityFramework.SqlServer'在应用程序配置文件中注册   对于具有不变名称'System.Data.SqlClient'的ADO.NET提供程序   无法加载。确保程序集限定名称   使用并且程序集可用于正在运行的应用程序。   有关详情,请参阅http://go.microsoft.com/fwlink/?LinkId=260882   信息。

此错误发生在以下行

using (var dbcontext = new MyEntity())

现在如何解决这个问题,我找不到System.Data.SqlClient Assembly

2 个答案:

答案 0 :(得分:0)

记录here您需要在应用程序中添加以下代码行: -

public class MyConfiguration : DbConfiguration 
{ 
    public MyConfiguration() 
    { 
        SetProviderServices( 
            SqlCeProviderServices.ProviderInvariantName, 
            SqlCeProviderServices.Instance); 
    } 
}

答案 1 :(得分:-1)

抱歉伙计这是我的错误,不知道如何将两个相同的连接字符串添加到web api项目的web.config文件中,我删除了其中一个并且它工作得很好。

相关问题