【发布时间】:2016-04-26 22:11:23
【问题描述】:
我们正在使用 DevArt dotConnect 连接到 Oracle 后端。我们以前的开发机器都使用了 dotConnect 8.4.254.4,这是在 Subversion 中签入的。我已经设置了一台新的开发机器并安装了最新版本,即 8.5.616.0。我已经更新了我能找到的每一个 8.4 参考,甚至对所有签入的内容都进行了“在文件中查找”。但是,关于这个版本的某些内容破坏了我们的代码。基本上,当我尝试创建数据库上下文时:
using (var _context = new DbContext())
我得到了这个例外:
实体框架提供程序类型的“实例”成员 'Devart.Data.Oracle.Entity.OracleEntityProviderServices, Devart.Data.Oracle.Entity,版本=8.5.616.0,文化=中性, PublicKeyToken=09af7300eec23701' 没有返回一个对象 继承自“System.Data.Entity.Core.Common.DbProviderServices”。 实体框架提供者必须从这个类和 'Instance' 成员必须返回提供者的单例实例。 这可能是因为提供者不支持 Entity Framework 6 或以后;更多信息见http://go.microsoft.com/fwlink/?LinkId=260882 信息。
我花了很长时间在 Stack Overflow 上搜索类似的错误,并且有很多错误(在许多数据库系统中也是如此)。有各种解决方案,例如更新不同的 .config 文件和程序集引用,但我已经尝试了所有这些。还有一些关于将 DLL 从 GAC 中移出并直接在 Program Files 中引用它的建议,我也尝试过。我现在不知所措。如何追踪此问题的原因?我很乐意添加更多有用的代码或信息,请尽管询问。
更新:
我在对象浏览器中注意到,如果我转到实际的 Devart.Data.Oracle.Entity.OracleEntityProviderServices 类,则基本类型是 missing:
我想知道这是否与问题有关。
【问题讨论】:
标签: .net oracle entity-framework devart dotconnect