web-dev-qa-db-ja.com

ODAC12cおよびEntityFramework 6

Oracle Data Access Components 12c がEntity Framework 6と互換性があるかどうか誰かに教えてもらえますか? OracleのWebサイトはドキュメントにとって悪夢であり、これを解決する方法に関するリファレンスを見つけることができません。

ODAC 12cおよびEF6にアップグレードしようとしている既存のプロジェクトがありますが、解決に苦労している次のエラーが発生します。

exception

既存のプロジェクトの問題を除外するために新しいプロジェクトを作成しましたが、同じ問題が発生します。 Entity Framework Power Tools Beta 4 (リバースエンジニアコードファースト)によって自動的に編集されたapp.configファイルの問題だと思います。

config file

誰かが私を正しい方向に向けることができますか?

13
philreed

** Oracle Data Access Components12cリリース3ベータ2 ** ODAC 12c R3は、Entity Framework(EF)6およびEF CodeFirstで認定された最初のODP.NETリリースです。 http://www.Oracle.com/technetwork/topics/dotnet/whatsnew/index.html

2
Badreddine Bmg

Devartは最近発表しました Oracle 12cサポート 。代わりに、プロバイダーの使用を検討することをお勧めします。

3
bricelam

表示されるエラーは、プロバイダータグにOracle.ManagedDataAccess.Clientを追加しなかったことを示しています。

これを追加すると、問題が解決します。

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

ただし、コメントに記載されているように、残念ながら、ODAC 12c R2でEF6がサポートされていないため、最終的には機能しません。

1
Paul

さらに、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>

Oracleインストーラがmachine.configにタグを追加するのを忘れているため、次のDbProviderFactoriesタグをconfiguration /に追加する必要がある場合があります。

  <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>
1
kin gold