Cette réponse résume (nous l'espérons) toutes les étapes requises, dont beaucoup sont documentées à divers endroits en ligne et qui pourraient épargner à quelqu'un des heures de recherche sur Google.
A. Comment déployer et configurer Oracle.DataAccess.Client.
A.1. Télécharger ODAC112030Xcopy_64bit.zip o ODAC112030Xcopy_32bit.zip .
A.1.1. Extrayez le contenu des dossiers suivants du fichier zip dans le dossier bin/setup de votre application/hôte :
A.1.1.1. instantclient_11_2
A.1.1.2. odp.net4 \bin\
A.1.1.3. odp.net4 \odp.net\bin\
A.1.1.4. odp.net4 \odp.net\PublisherPolicy\4\
A.2. Ajoutez la section suivante au début du fichier app.config/web.config de votre application/hôte (si vous avez déjà un élément configSections, ajoutez-y la section :
<configSections>
<section name="oracle.dataaccess.client"
type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
A.3. Ajoutez les sections suivantes à la fin du fichier app.config/web.config de votre application/hôte :
A.4. Depuis le dossier de l'ODAC112030Xcopy, exécutez :
configure.bat odp.net4 somename
Je recommande d'utiliser oraclehome112030_32 ou oraclehome112030_64 comme "somename" ci-dessus.
<system.data>
<DbProviderFactories>
<!-- Remove in case this is already defined in machine.config -->
<remove invariant="Oracle.DataAccess.Client" />
<add name="Oracle Data Provider for .NET"
invariant="Oracle.DataAccess.Client"
description="Oracle Data Provider for .NET"
type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
</DbProviderFactories>
</system.data>
<oracle.dataaccess.client>
<settings>
<add name="bool" value="edmmapping number(1,0)" />
<add name="byte" value="edmmapping number(3,0)" />
<add name="int16" value="edmmapping number(5,0)" />
<add name="int32" value="edmmapping number(10,0)" />
<add name="int64" value="edmmapping number(19,0)" />
<add name="int16" value="edmmapping number(38,0)" />
<add name="int32" value="edmmapping number(38,0)" />
<add name="int64" value="edmmapping number(38,0)" />
</settings>
</oracle.dataaccess.client>
B. Comment déployer et configurer Oracle.ManagedDataAccess.Client.
B.1. Télécharger ODP.NET_Managed_1120350_Beta.zip
B.1.1. Extrayez les fichiers suivants dans le dossier bin/setup de votre application/hôte.
B.1.1.1. Oracle.ManagedDataAccess.dll
B.1.1.2. x64 \Oracle.ManagedDataAccessDTC.dll ou x86 \Oracle.ManagedDataAccessDTC.dll
B.2. Ajoutez la section suivante au début du fichier app.config/web.config de votre application/hôte (si vous avez déjà un élément configSections, ajoutez-y la section :
<configSections>
<section name="oracle.manageddataaccess.client"
type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.112.3.50, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>
B.3. Ajoutez les sections suivantes à la fin du fichier app.config/web.config de votre application/hôte :
<system.data>
<DbProviderFactories>
<!-- Remove in case this is already defined in machine.config -->
<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.112.3.50, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
<oracle.manageddataaccess.client>
<version number="*">
<settings>
<!-- Set this path if you are using TNS aliases as connection strings (not recommended) -->
<!-- Instead you can use "SERVER_NAME:PORT/SERVICE_NAME" as your data source -->
<setting name="TNS_ADMIN" value="C:\"/>
</settings>
<edmMappings>
<edmMapping dataType="number">
<add name="bool" precision="1"/>
<add name="byte" precision="2" />
<add name="int16" precision="5" />
</edmMapping>
</edmMappings>
</version>
</oracle.manageddataaccess.client>
C. Pour le bâtiment :
C.1. Ajoutez cette section à l'app.config de l'assemblage de votre EDMX :
(Je n'ai pas essayé cela avec Oracle. Géré DataAccess.Client yet)
<oracle.dataaccess.client>
<settings>
<add name="bool" value="edmmapping number(1,0)" />
<add name="byte" value="edmmapping number(3,0)" />
<add name="int16" value="edmmapping number(5,0)" />
<add name="int32" value="edmmapping number(10,0)" />
<add name="int64" value="edmmapping number(19,0)" />
<add name="int16" value="edmmapping number(38,0)" />
<add name="int32" value="edmmapping number(38,0)" />
<add name="int64" value="edmmapping number(38,0)" />
</settings>
</oracle.dataaccess.client>
C.2. Ajouter un fichier nommé Oracle.xsd au même assemblage avec le contenu :
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="odpnetappconfigmappings" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="addtype">
<xs:attribute name="name" type="xs:string" />
<xs:attribute name="value" type="xs:string" />
</xs:complexType>
<xs:complexType name="settingstype">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="add" type="addtype" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="oracledataaccessclienttype">
<xs:sequence minOccurs="0" maxOccurs="1">
<xs:element name="settings" type="settingstype" />
</xs:sequence>
</xs:complexType>
<xs:element name="oracle.dataaccess.client" type="oracledataaccessclienttype" />
</xs:schema>
C.3. Ajoutez le XSD ci-dessus à la liste de schémas de l'app.config ci-dessus.
C.4. Si vous obtenez des erreurs pour les mappages booléens pendant la construction, même si celle-ci est réussie, ajoutez les mappages app.config au devenv.exe.config de Visual Studio.
C.5. Si vous voulez utiliser Oracle.ManagedDataAccess.Client, modifiez manuellement l'attribut du fournisseur de données dans l'EDMX avant la construction (je n'ai pas essayé) ou modifiez-le avant la création du contexte au moment de l'exécution et chargez la MSSL à partir de la copie modifiée au lieu de la ressource (cela semble fonctionner et j'utilise également une astuce similaire pour choisir quelle MSSL charger pour différents fournisseurs de BD).
D. Pour le support du designer :
D.1. Télécharger win64_11gR2_client.zip o win32_11gR2_client.zip et l'installer.
D.1.1. Sélectionnez "Administrateur" comme type d'installation.
D.2. télécharger ODT et l'installer.
J'ai essayé ceci (A et B) sur une machine vierge (VM) avec Windows 7 x64.
Cette procédure ne semble pas fonctionner avec la version x86 de Oracle.DataAccess.Client sur Windows x64.
La procédure semble fonctionner avec la version x64 d'Oracle.DataAccess.Client sur Windows x64 et avec les deux versions d'Oracle.ManagedDataAccess.Client.