sql >> Base de Datos >  >> RDS >> Oracle

Problemas al cambiar el proyecto .NET de ensamblados ODP.NET no administrados a administrados

Método de descarga manual

Gracias a @Christian Shay por señalar que la versión NuGet de Managed ODAC no está creada por Oracle

Para utilizar Managed Oracle Data Access con Entity Framework, en Visual Studio 2012 (.NET 4.5):

  1. Despliegue Entity Framework 5.0.0.0

    Install-Package EntityFramework -Version 5.0.0

  2. Descargue los últimos Oracle Data Access Components (ODAC)

  3. Hacer referencia manualmente a Oracle.ManagedDataAccess.dll

  4. Agregue esta sección al archivo de configuración

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

Y luego proceder como de costumbre. Parece en este momento que Entity Framework 6 aún no es compatible con Oracle.ManagedDataAccess, por lo que es necesario ejecutar la versión 5.

También tenga en cuenta que si usa Visual Studio 2010 o una versión anterior, con el objetivo de .NET 4, NuGet desplegará EF5, pero usará los ensamblados 4.x. No he probado esto en VS2010 con .NET 4.