13

谁能告诉我Oracle 数据访问组件 12c是否与实体框架 6 兼容?Oracle 网站是文档的噩梦,找不到任何有关如何解决此问题的参考资料。

我有一个现有项目,我正在尝试升级到 ODAC 12c 和 EF6,但我遇到了以下错误,我正在努力解决:

例外

我创建了一个新项目以排除现有项目的任何问题,但我遇到了同样的问题。我认为这是由Entity Framework Power Tools Beta 4(逆向工程师代码优先)自动编辑的 app.config 文件的问题:

配置文件

谁能指出我正确的方向?

4

4 回答 4

3

Devart 最近宣布支持 Oracle 12c。您可能要考虑改用他们的提供商。

于 2013-10-22T16:44:01.163 回答
2

**Oracle Data Access Components 12c Release 3 Beta 2 ** ODAC 12c R3 是第一个通过 Entity Framework (EF) 6 和 EF Code First 认证的 ODP.NET 版本。 http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html

于 2014-10-09T05:40:21.553 回答
1

您收到的错误表明您没有将 Oracle.ManagedDataAccess.Client 添加到 providers 标签。

添加这将解决您的问题:

<provider invariantName="Oracle.ManagedDataAccessClient"
                type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />

但不幸的是,由于 ODAC 12c R2 中缺乏对 EF6 的支持,最终将无法正常工作,正如评论中提到的那样。

于 2014-08-25T08:55:22.440 回答
1

除了将 Oracle.ManagedDataAccess.Client 提供程序添加到 configuation/entityframework/providers 标记。

<entityFramework>
<providers>
  <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices,Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /></providers></entityFramework>

您可能需要将以下 DbProviderFactories 标记添加到 configuration/ 因为 Oracle 安装程序忘记将其添加到 machine.config

  <system.data>
<DbProviderFactories>
  <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver"
      type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>

于 2015-01-14T02:36:10.610 回答