Oracle
 sql >> Base de données >  >> RDS >> Oracle

Problèmes de basculement du projet .NET d'assemblys ODP.NET non gérés à gérés

Méthode de téléchargement manuel

Merci à @Christian Shay d'avoir signalé que la version NuGet de Managed ODAC n'est pas créée par Oracle

Pour utiliser Managed Oracle Data Access avec Entity Framework, dans Visual Studio 2012 (.NET 4.5) :

  1. Déroulez Entity Framework 5.0.0.0

    Install-Package EntityFramework -Version 5.0.0

  2. Téléchargez la dernière Oracle Data Access Components (ODAC)

  3. Référencez manuellement Oracle.ManagedDataAccess.dll

  4. Ajouter cette section au fichier de configuration

  <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>

Et puis procédez comme d'habitude. Il semble pour le moment qu'Entity Framework 6 ne supporte pas encore Oracle.ManagedDataAccess, il est donc nécessaire d'exécuter la version 5.

Gardez également à l'esprit que si vous utilisez Visual Studio 2010 ou une version antérieure, ciblant .NET 4, NuGet réduira EF5, mais utilisera les assemblys 4.x. Je n'ai pas testé cela sur VS2010 avec .NET 4.