El proveedor de ADO.NET 'Oracle.ManagedDataAccess.Client' no está registrado en la máquina o en el archivo de configuración de la aplicación, o no se pudo cargar

estoy usando.NET4.5.1, MVC5, EF6, conOracle.ManagedDataAccess 4.121.1.0 yOracle.ManagedDataAccess.EntityFramework 6.121.2.0

Pude generar el modelo a partir de la base de datos existente (parte de ella agregando tabla por tabla), la compilación de aplicaciones está bien.

Sin embargo, cuando intento ejecutar la consulta de prueba para ver si puede obtener los datos

 public ActionResult Cancellations()
    {
        var factoryClasses = System.Data.Common.DbProviderFactories.GetFactoryClasses();
        using (var db = new Entities())
        {
            var cancelationStatuses = new[] {3, 7, 9};
           var result = db.TRANSACTIONDETAIL.Where(o => cancelationStatuses.Contains(o.TRANSACTIONSTATUSID));
           return View(result);
        }
    }

falla (envar result = ...) conUnable to find the requested .Net Framework Data Provider. It may not be installed.

Cuando trato de buscar DbProviderFactories de hecho no hay nada en la colección (var factoryClasses =)

sin embargoTengo instalado 12c 4 (ODTwithODAC121024) y 11 g (ODTwithODAC1120320_32bit), y han reiniciado la máquina.

La base de datos se ejecuta en 11g y puedo acceder a ella conPL/SQL developer

Web.config se ve a continuación:

<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
 <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
 <section name="Oracle.ManagedDataAccess.Client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>
.....
<connectionStrings>
.....
<add name="OracleDbContext" providerName="Oracle.ManagedDataAccess.Client" connectionString="User Id=oracle_user;Password=oracle_user_password;Data Source=oracle" />
 <add name="Entities" connectionString="metadata=res://*/OracleDb.csdl|res://*/OracleDb.ssdl|res://*/OracleDb.msl;provider=Oracle.ManagedDataAccess.Client;provider connection string='data source=******" providerName="System.Data.EntityClient" />           </connectionStrings>
......
<system.data>
<DbProviderFactories>
  <!-- Remove in case this is already defined in machine.config -->
  <add name="Oracle Data Provider for .NET" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  <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.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>

Supongo que está fallando porque Oracle no se está registrando enDbProviderFactories o en alguna parte

¿Cómo registro Oracle en DbProviderFactories? O si este no es el caso, ¿qué hay de malo en mi configuración?

Respuestas a la pregunta(4)

Su respuesta a la pregunta