2017-07-12 55 views
1

我刚刚将实体框架电动工具Beta 4安装到Visual Studio 2013中。我正在运行一个.NET框架4.5项目,首先使用实体​​框架代码与Oracle数据库。我已经从Oracle(版本12)安装了最新的ODP.NET,包括EF驱动程序,并且我的项目中引用了Oracle.ManagedDataAccess和Oracle.ManagedDataAccess.EntityFramework。实体框架电动工具 - 无法连接到Oracle

这个设置允许我运行我的项目并从Oracle数据库读取和访问数据。它一切正常。我的问题是当我尝试使用实体框架电动工具。我可以使用Oracle数据库名称和凭证指定连接,并且对话框显示'测试连接成功'。但是,单击下一个按钮后,出现以下错误:

System.Data.ProviderIncompatibleException:商店提供程序工厂类型“System.Data.OracleClient.OracleClientFactory”未实现IServiceProvider接口。使用实现此接口的商店提供者。

我很困惑,因为我的项目能够使用已安装的ODP.NET,通过实体框架与Oracle数据库进行通信。我在WWW上完成的大部分研究表明,版本和web.config的内容应该存在问题 - 但是如果情况确实如此,我将无法在我的项目中正确使用EF和Oracle ?

刚刚的情况是,电动工具不适用于Oracle?

干杯! Martin

+0

它试图使用不是ODP.NET的System.Data.OracleClient。有没有办法告诉它使用哪个数据源,所以你可以告诉它使用ODP.NET? –

+0

谢谢基督徒。你说得很对。只有Microsoft驱动程序出现在提供程序列表中......我为Visual Studio安装了Oracle Tools,并在Power Tools中添加了ODP.NET作为可用提供程序。再次感谢。 – Martin

回答

1

正如Christian在评论中所说,您需要安装ODP.NET作为Power Tools可以使用的提供程序。我通过安装适用于Visual Studio的Oracle开发工具来完成此任务。