Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Problemas ao alternar o projeto .NET de assemblies ODP.NET não gerenciados para gerenciados


Método de download manual

Obrigado a @Christian Shay por apontar que a versão NuGet do Managed ODAC não é de autoria da Oracle

Para usar o Managed Oracle Data Access com Entity Framework, no Visual Studio 2012 (.NET 4.5):

  1. Abra o Entity Framework 5.0.0.0

    Install-Package EntityFramework -Version 5.0.0

  2. Faça o download do Oracle Data Access Components (ODAC)

  3. Referencie manualmente Oracle.ManagedDataAccess.dll

  4. Adicione esta seção ao arquivo de configuração
  <system.data>
    <DbProviderFactories>
      <remove invariant="Oracle.ManagedDataAccess.Client" />
      <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.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </DbProviderFactories>
  </system.data>

E então prossiga como de costume. Parece neste momento que o Entity Framework 6 ainda não suporta Oracle.ManagedDataAccess, portanto, é necessário executar a versão 5.

Lembre-se também de que, se você estiver usando o Visual Studio 2010 ou anterior, visando o .NET 4, o NuGet puxará o EF5, mas usará os assemblies 4.x. Eu não testei isso no VS2010 com .NET 4.