ODAC 12c и Entity Framework 6

может кто-нибудь сказать мне, если компоненты доступа к данным Oracle 12c совместим с Entity Framework 6? Веб-сайт Oracle является кошмаром для документации и не может найти никаких ссылок на то, как это решить.

У меня есть существующий проект, который я пытаюсь обновить до ODAC 12c и EF6, но я получаю следующую ошибку, которую я изо всех сил пытаюсь решить:

exception

Я создал новый проект, чтобы исключить любые проблемы с моим существующий проект, и я получаю ту же проблему. Я считаю, что это проблема с приложением.файл конфигурации автоматически редактируется Entity Framework Power Tools Beta 4 (Обратный Инжиниринг Кода):

config file

может ли кто-нибудь указать мне в правильном направлении?

4 ответов


**Oracle Data Access Components 12C Release 3 Beta 2 ** ODAC 12c R3 является первым ODP.NET сначала выпуск для сертификации с помощью Entity Framework (EF) 6 и кода EF. http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html


компания недавно объявила поддержка Oracle 12c. Вы можете рассмотреть возможность использования их провайдера вместо этого.


ошибка, которую вы получаете, указывает, что вы не добавили Oracle.ManagedDataAccess.Клиент для тега providers.

добавление этого решит вашу проблему:

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

но, к сожалению, не будет работать в конце из-за отсутствия поддержки EF6 в ODAC 12c R2, как упоминалось в комментариях.


дополнительно добавить Oracle.ManagedDataAccess.Поставщик клиента для тега 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 забудет добавить его на компьютер.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>