web-dev-qa-db-fra.com

Votre projet fait référence à la dernière version d'Entity Framework ... - Erreur

J'essaie de créer un modèle de données d'entité avec Oracle. Je reçois cette erreur.

 enter image description here

Je les ai installés pour ma solution.

 enter image description here

J'ai également installé ODT pour VS 2015. 

Ce sont mes références montrant. 

 enter image description here

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.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>
<connectionStrings>
    <add name="OracleDbContext" 
         providerName="Oracle.ManagedDataAccess.Client" 
         connectionString="User Id=system;Password=myPassword;Data Source=ABC_DB" />
</connectionStrings>
<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
</system.web>
<system.webServer>
   <modules>
       <remove name="FormsAuthentication" />
   </modules>
</system.webServer>
<runtime>
 ........
</runtime>
<entityFramework>
    <defaultConnectionFactory  
         type="Oracle.ManagedDataAccess.EntityFramework.OracleConnectionFactory, Oracle.ManagedDataAccess.EntityFramework">
    </defaultConnectionFactory>
    <providers>
        <!--<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
        <provider invariantName="Oracle.ManagedDataAccess.Client" 
                  type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />-->
        <provider invariantName="Oracle.ManagedDataAccess.Client" 
                  type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </providers>
</entityFramework>
<system.codedom>
    <compilers>
        <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
        <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
</system.codedom>
<system.data>
   <DbProviderFactories>
       <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>
</system.data>
<Oracle.manageddataaccess.client>
  <version number="*">
  <dataSources>
    <dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
  </dataSources>
 </version>
</Oracle.manageddataaccess.client>

Qu'est-ce que je rate?

11
adityabnawandar

"Votre projet fait référence à la dernière version d'Entity Framework" Problème avec VS 2017 et Oracle 12c Lorsque nous ajoutons l'élément Modèle de données d'entité ADO.NET avec connexion Oracle, un message d'erreur s'affiche: "Votre projet fait référence à la dernière version d'Entity Framework .. . "

Les étapes de résolution sont ici;

  1. Installer Oracle ODTwithODAC122010 en tant que 32 bits

  2. Créez votre projet dans VS2017

  3. Changez la plateforme de solution active en 32 bits à partir de AnyCPU

  4. Ouvrez Outils-> Nuget PackageManager-> Gérer les paquets de nugets pour la solution.

Zone de navigation 5-Write "ODP" et installation du programme suivant

  • Oracle. ManagedDataAccess

  • Oracle.ManagedDataAccess.EntityFramework 

6- Ouvrir Outils-> Nuget PackageManager-> Console du gestionnaire de packages

7- Ecrire ceci 

- Install-Package EntityFramework -Version 6.1.1  

and Enter

8-Redémarrez Visual Studio pour terminer le processus

8-Re-Build votre application

8- Ajouter un nouvel élément Modèle de données d'entité ADO.NET 

9-Si nécessaire, ajoutez une nouvelle connexion à Oracle (source de données = base de données Oracle (ODP.NET, pilote géré))

10 - Tout va bien. 

Remarque: EF 6.1.3 ne fonctionne pas avec VS2017 et Oracle ODTwithODAC122010. Mais après tout ce processus, j'ai changé EF en tant que EF6.1.3, il fonctionne Mais je ne vous conseille pas.

7
Mehmet Kurt

vous devez aller à votre projet -> propriétés -> Compiler -> et définir la plate-forme sur x86

Enregistrez toutes les modifications, reconstruisez, ajoutez le modèle de données d'entité et tout fonctionnera à présent.

Cela nous est souvent arrivé à notre travail!

Cela est dû au fait que l'ODT est pour 32 bits et que votre projet est probablement en AnyCpu ou x64 et que votre système d'exploitation est en x64.

J'espère que ça aide

2
ssanga

J'ai rencontré ce problème aujourd'hui. Puis j'ai résolu en procédant comme suit:

Normalement, au cas où nous voudrions utiliser MySQL avec Entity Framework, nous ajouterons des DLL telles que MySql.Data, MySql.Data.Entity.EF6.

Mais nous avons oublié une chose dont Visual Studio a besoin pour travailler avec MySQL. 

Cela ajoute des configurations sur App.config/Web.config:

<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" />
  </configSections>

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider></providers>
  </entityFramework>
<system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>

Ensuite, construisez tous vos projets et essayez à nouveau.

Une autre solution consiste à: utiliser Nuget pour ajouter des dlls MySQL. Il sera ajouté des configurations dans le fichier App.config/Web.config

2
Hieu Le

J'ai réussi à résoudre ce problème en mettant à jour Entity Framework vers 6.1.3, Oracle Managed Data Access vers 12.1.24160719 et Oracle Managed Data Access Entity Framework vers 12.1.2400. S'il vous plaît utiliser le gestionnaire de nuget pour mettre à jour. Après cela, ça marche !!!

0
Jack Lee

Installez Entity Framework s'il n'est pas installé, reconstruisez votre projet et ajoutez une nouvelle connexion. Cela résout le problème pour moi.

0
Sundus