C# 测试项目中的实体框架5方法时出错

C# 测试项目中的实体框架5方法时出错,c#,visual-studio-2013,entity-framework-5,C#,Visual Studio 2013,Entity Framework 5,我创建了VS2013 web api项目 我在这个项目中添加了EF5数据模型并生成代码 我已经编写了一个使用EF5插入数据的方法 我在同一个解决方案中创建了VS2013测试项目,并添加了对web api项目的引用 写了一个简单的测试方法,当执行这个方法时,我得到一个错误,在配置文件中找不到连接字符串,所以我在测试项目的配置文件中添加了连接字符串 在此之后,我得到了以下错误: Model.MyModel.ssdl2,2:错误0152:没有实体框架提供程序 找到具有固定名称的ADO.NET提供程序

我创建了VS2013 web api项目 我在这个项目中添加了EF5数据模型并生成代码 我已经编写了一个使用EF5插入数据的方法 我在同一个解决方案中创建了VS2013测试项目,并添加了对web api项目的引用 写了一个简单的测试方法,当执行这个方法时,我得到一个错误,在配置文件中找不到连接字符串,所以我在测试项目的配置文件中添加了连接字符串

在此之后,我得到了以下错误:

Model.MyModel.ssdl2,2:错误0152:没有实体框架提供程序 找到具有固定名称的ADO.NET提供程序 “System.Data.SqlClient”。确保提供程序已在中注册 应用程序配置文件的“entityFramework”部分。看

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

现在我得到了以下错误

实体框架提供程序类型 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer已在应用程序配置文件中注册 对于具有固定名称“System.Data.SqlClient”的ADO.NET提供程序 无法加载。确保程序集限定名为 已使用,并且程序集对正在运行的应用程序可用。 查看更多信息 信息

此错误发生在下一行

using (var dbcontext = new MyEntity())
现在,如何解决这个问题,我找不到System.Data.SqlClient程序集

如文档所述,您需要在应用程序中添加以下代码行:-

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

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

我没有System.Data.Entity.SqlServerCompact,我仍然在使用EF 5shu neel barobar vachhehe han@DhavalPatel kai company ma chho tu?@neel:barodaoh的Investis很棒..了解了一些新情况: