Oracle
 sql >> Database >  >> RDS >> Oracle

Problemi nel passaggio del progetto .NET dagli assembly ODP.NET non gestiti a quelli gestiti

Metodo di download manuale

Grazie a @Christian Shay per aver sottolineato che la versione NuGet di Managed ODAC non è creata da Oracle

Per utilizzare Managed Oracle Data Access con Entity Framework, in Visual Studio 2012 (.NET 4.5):

  1. Apri Entity Framework 5.0.0.0

    Install-Package EntityFramework -Version 5.0.0

  2. Scarica gli ultimi Oracle Data Access Components (ODAC)

  3. Fare riferimento manualmente a Oracle.ManagedDataAccess.dll

  4. Aggiungi questa sezione al file di configurazione

  <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 poi procedi come al solito. Al momento sembra che Entity Framework 6 non supporti Oracle.ManagedDataAccess, quindi è necessario eseguire la versione 5.

Tieni inoltre presente che se utilizzi Visual Studio 2010 o versioni precedenti, con destinazione .NET 4, NuGet eseguirà il pull down di EF5, ma utilizzerà gli assembly 4.x. Non l'ho testato su VS2010 con .NET 4.