No se puede implementar el proyecto MVC 3 con Entity Framework 4.3.1 y Oracle ODAC

Actualmente estoy intentando implementar una aplicación MVC 3 en la que he estado trabajando en nuestro servidor web de prueba y tengo un problema importante al cargar todo correctamente. Para intentar y dar la mayor cantidad de información posible sobre esto, estoy haciendo un despliegue de bin (he enviado todas las referencias para copiar localmente), y estoy haciendo una publicación básica en el proyecto web a través del sistema de archivos en el directorio de la aplicación en el servidor. Los componentes que estoy usando son:

Entity Framework 4.3.1 Oracle ODAC 11.2.0 (versión 4.112.3.0)

Esta aplicación tiene 2 objetos de Entity Framework, uno que va a una base de datos de SQL Server y el otro que va a una base de datos Oracle 10g. Creo que el problema es que el objeto Entity Framework va a la base de datos Oracle. Este es mi primer proyecto de MVC 3 y mi primer despliegue (aquí hay muchas "nuevas" variables), así que no estoy seguro de si me estoy perdiendo algo o no. ¿Cómo soluciono este problema? Todo funciona perfectamente bien en mi máquina local, solo cuando implemento el proyecto en el servidor, tengo problemas.

Cosas que he probado hasta ahora:

Todos mis controladores heredan de un controlador base (BaseController), donde viven las instancias de los objetos del marco de la entidad. No puedo acceder a la vista de índice de ningún controlador que herede de BaseController, pero HomeController hereda de Controller. Esta página funciona correctamente. He intentado heredar de Controller en los demás, y eso me permite acceder a la vista de índice, pero volver a BaseController provoca los errores en el seguimiento de la pila nuevamente. El error parece ocurrir en la línea donde estoy declarando que mi objeto de marco de entidad va a la base de datos de Oracle:

protected internal RadixWebDataPRDX dbRadixData = new RadixWebDataPRDX();

Tengo el archivo Oracle.DataAccess.dll que se está copiando, y esto todavía causa un problema.

El seguimiento de mi pila para este error está abajo, gracias:

Error del servidor en la aplicación '/ RadixMVC'.

No se puede encontrar el proveedor de datos de .Net Framework solicitado. Puede que no esté instalado.

Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.

Detalles de la excepción: System.ArgumentException: no se puede encontrar el proveedor de datos de .Net Framework solicitado. Puede que no esté instalado.

Error de fuente:

Se generó una excepción no controlada durante la ejecución de la solicitud web actual. La información sobre el origen y la ubicación de la excepción se puede identificar mediante el seguimiento de la pila de excepciones a continuación.

Traza de la pila:

[ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.]
   System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName) +1420503
   System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +34

[ArgumentException: The specified store provider cannot be found in the configuration, or is not valid.]
   System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +63
   System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) +483
   System.Data.EntityClient.EntityConnection..ctor(String connectionString) +77
   System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString) +40
   System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName) +17
   RadixMVC.Models.Data.RadixWebDataPRDX..ctor() in C:\Users\862599\Documents\Visual Studio 2010\Projects\RadixMVC\RadixMVC\RadixMVC.Models.Data\RadixDataPRDX.Designer.cs:34
   RadixMVC.Controllers.BaseController..ctor() in C:\Users\862599\Documents\Visual Studio 2010\Projects\RadixMVC\RadixMVC\RadixMVC\Controllers\BaseController.cs:17
   RadixMVC.Controllers.AccountsPayableController..ctor() +29

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) +98
   System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) +241
   System.Activator.CreateInstance(Type type, Boolean nonPublic) +69
   System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +67

[InvalidOperationException: An error occurred when trying to create a controller of type 'RadixMVC.Controllers.AccountsPayableController'. Make sure that the controller has a parameterless public constructor.]
   System.Web.Mvc.DefaultControllerActivator.Create(RequestContext requestContext, Type controllerType) +181
   System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) +77
   System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) +66
   System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory) +209
   System.Web.Mvc.<>c__DisplayClass6.<BeginProcessRequest>b__2() +50
   System.Web.Mvc.<>c__DisplayClassb`1.<ProcessInApplicationTrust>b__a() +13
   System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +23
   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Func`1 func) +124
   System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +98
   System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContext httpContext, AsyncCallback callback, Object state) +48
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData) +16
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8970356
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184

Información de la versión: Microsoft .NET Framework Version: 4.0.30319; Versión de ASP.NET: 4.0.30319.272

Respuestas a la pregunta(1)

Su respuesta a la pregunta