我想在我的VB6应用程序中使用的C#Com可见DLL中使用EF6,但遇到错误.注意我没有使用app.config,而是从VB6程序传递连接字符串.
在C#代码中,我按如下方式访问DBContext;
private static MyDataEntities CreateDb() { return new MyDataEntities(EFConnectionString); }
EFConnectionString是
"metadata=res://*/vivModel.csdl|res://*/vivModel.ssdl|res://*/vivModel.msl;provider=System.Data.SqlClient;provider connection string='data source=MYPC\SQL2008R2;initial catalog=MyDatabase;user id=sa;password=mypassword;MultipleActiveResultSets=True;App=EntityFramework'"
错误消息是
[[指定的架构无效.错误:vivModel.ssdl(2,2):错误0152:找不到具有不变名称"System.Data.SqlClient"的ADO.NET提供程序的实体框架提供程序.确保提供程序已在应用程序配置文件的"entityFramework"部分中注册.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=260882.]]
小智.. 6
我使用VS 2013,EF 6.1.1在具有两个Web应用程序项目和一个类库的N层解决方案中遇到了同样的错误.我已经在这个类库中安装了EF.我在Web应用程序项目中安装EF时解决了这个问题.之后,在bin/debug文件夹中找到了EntityFramework.sqlserver.dll.我在另一个stackoverflow问题中找到了解决方案.
我使用VS 2013,EF 6.1.1在具有两个Web应用程序项目和一个类库的N层解决方案中遇到了同样的错误.我已经在这个类库中安装了EF.我在Web应用程序项目中安装EF时解决了这个问题.之后,在bin/debug文件夹中找到了EntityFramework.sqlserver.dll.我在另一个stackoverflow问题中找到了解决方案.