O provedor ADO.NET 'Oracle.ManagedDataAccess.Client' não está registrado no arquivo de configuração da máquina ou do aplicativo ou não pôde ser carregado

estou usando.NET4.5.1, MVC5, EF6comOracle.ManagedDataAccess 4.121.1.0 eOracle.ManagedDataAccess.EntityFramework 6.121.2.0

Consegui gerar o Model a partir do banco de dados existente (parte dele adicionando tabela por tabela), o aplicativo é compilado.

No entanto, quando tento executar a consulta de teste para ver se é possível obter os dados

 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);
        }
    }

falha (emvar result = ...) comUnable to find the requested .Net Framework Data Provider. It may not be installed.

Ao tentar procurar DbProviderFactories de fato, não há nada na coleção (var factoryClasses =)

ContudoEu tenho instalado o 12c 4 (ODTwODOD12121024) e 11g (ODT com ODAC1120320_32bit) e reiniciou a máquina.

O banco de dados está sendo executado em 11g e eu posso acessá-lo comPL/SQL developer

Web.config parece o seguinte:

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

Minha suposição está falhando porque o Oracle não está sendo registrado noDbProviderFactories ou em algum lugar

Como registro o Oracle no DbProviderFactories? Ou, se não for esse o caso, o que há de errado com minha configuração?

questionAnswers(4)

yourAnswerToTheQuestion