visual studio odp net manageddataaccess framework for example dataaccess data 11g .net oracle entity-framework ado.net-entity-data-model odac

studio - Oracle ODP.Net con Entity Framework 6-El proveedor compatible con la base de datos de Entity Framework no se pudo encontrar



oracle.dataaccess.dll 64 bits download (5)

Última unión a este hilo. Un par de personas se actualizaron a VS2017 (el resto de nuestro equipo todavía usa VS2015 y planea actualizar a VS2017). Uno de nuestros proyectos se refería a Oracle.ManagedDataAccess.dll ver4.121.2.0 y Oracle.ManagedDataAccess.EntityFramework.dll ver6.121.2.0 a través de dlls con referencia local.

Todas las estaciones de trabajo dev tenían controladores odac-odac ver4.122.1.0 y ver6.122.1.0 instalados en todo el sistema (GAC, etc.).

Este tipo de configuración funcionaba perfectamente para VS2015, pero por algún extraño motivo no funcionaba para VS2017. El culpable de VS2017 fue que Oracle.ManagedDataAccess.dll y Oracle.ManagedDataAccess.EntityFramework.dll no se copiaron en la carpeta de salida de nuestro proyecto asp.net de nivel de entrada a menos que y hasta que los dlls localmente referenciados también se actualizaran a ver4. .121.2.0 y ver6.121.2.0.

No tuvimos tiempo de mirar más allá de todo esto, pero la solución antes mencionada funcionó para VS2017.

Estoy tratando de construir una aplicación web MVC 5 con Entity Framework 6 que funcione en Oracle Database, estoy tratando de usar ODAC 12c Release 3 que incluye soporte para Entity Framework 6 Code First y Code First Migrations; NuGet, .NET Framework 4.5.2; y ODP.NET, Managed Driver XML DB. Según

http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html

Tengo la actualización VS 2013 Community Edition 4.

Estoy tratando de agregar el modelo utilizando el modelo de datos de la entidad ADO.Net, con el código primero.

Tengo configurado lo siguiente en mi Web.config

<configSections> <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.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> </configSections> <entityFramework> <contexts> <context type="Tamayz.Context.Default, Tamayz.Context"> <databaseInitializer type="MyProject.Context.Config.ContextInitializer, MyProject.Context" /> </context> </contexts> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> </providers> </entityFramework>

También agregué Oracle.ManagedDataAccess versión 4.121.2.0 como referencia y reconstruí la solución.

Intenté agregar Model utilizando el modelo de datos de entidad ADO.Net, con Code First. pero recibo el siguiente mensaje en la última pantalla del asistente:

Su proyecto hace referencia a la última versión del marco de la entidad; sin embargo, no se encontró un proveedor de base de datos de Entity Framework compatible con esta versión para su conexión ...

¿Cómo podría configurar correctamente mi aplicación para poder usar ODAC con el código EF6 primero?


Acabo de tener este problema en Visual Studio 2015. En mi caso, se debió a que Entity Framework 6.1.3 no era compatible. Después de degradarlo a 6.1.2, está funcionando.


Finalmente pude usar ODP con EF6.

Hice lo siguiente para que funcione:

Primero, instalar ODAC 12c Release 3, que incluye soporte para Entity Framework 6 Code First y Code First Migrations; NuGet, .NET Framework 4.5.2; y ODP.NET, Managed Driver XML DB. Según

http://www.oracle.com/technetwork/topics/dotnet/whatsnew/index.html

Agregando dos referencias, a mis referencias de proyecto y son:

Oracle.ManagedDataAccess.dll

Oracle.ManagedDataAccess.EntityFramework.dll

Instalar EF6.1.1 usando NuGet ejecutando el siguiente comando en la consola de Package Manager (puede ingresarlo desde Tools-> NuGet Package Manager -> Package Manager Console):

Install-Package EntityFramework -Version 6.1.1

Y modifique su web.config o web.config para usar Oracle.ManagedDataAccess, agregando Provider y una cadena de conexión válida, por ejemplo:

<configSections> <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" /> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> </configSections> <entityFramework> <contexts> <context type="App.Context.Default, App.Context"> <databaseInitializer type="MyProject.Context.Config.ContextInitializer, MyProject.Context" /> </context> </contexts> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers> </entityFramework> <connectionStrings> <add name="Default" providerName="Oracle.ManagedDataAccess.Client" connectionString="DATA SOURCE=XE;USER ID=User" /> </connectionStrings>

Reconstruya su Aplicación como x86, y comience a utilizar EF6, puede verificar si funciona agregando un modelo usando el Modelo de Entidad ADO.Net usando Code First



Solo para complementar, lo intenté todo, pero en mi caso se solucionó configurando " defaultConnectionFactory ", así:

<entityFramework> <defaultConnectionFactory type="Oracle.ManagedDataAccess.EntityFramework.OracleConnectionFactory, Oracle.ManagedDataAccess.EntityFramework"> </defaultConnectionFactory> <providers> <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> </providers> </entityFramework>

Encontré la solución aquí: https://community.oracle.com/message/13114643#13114643

Espero que esto ayude a alguien...