我创建了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
答案 0 :(得分:0)
记录here您需要在应用程序中添加以下代码行: -
public class MyConfiguration : DbConfiguration
{
public MyConfiguration()
{
SetProviderServices(
SqlCeProviderServices.ProviderInvariantName,
SqlCeProviderServices.Instance);
}
}
答案 1 :(得分:-1)
抱歉伙计这是我的错误,不知道如何将两个相同的连接字符串添加到web api项目的web.config文件中,我删除了其中一个并且它工作得很好。