web-dev-qa-db-fra.com

Comment ajouter un fournisseur Oracle dans VS2017 pour Entity Framework?

Je souhaite me connecter à une base de données (Oracle 12c) pour générer le modèle ADO.NET, Code First From Database. J'ai installé ODAC pour VS mais il n’existe toujours pas d’option pour connecter une base de données Oracle à l’assistant Entity Data Model:  enter image description here

Il existe un fournisseur Oracle dans l'explorateur de serveurs, mais il est déclaré obsolète:  enter image description here

J'ai également essayé d'installer les 4 packages Nuget suivants, mais toujours pas de fournisseur Oracle à l'Assistant de modèle de données Entity:  enter image description here

Je soupçonne que VS2017 (Communauté) ne regarde pas où j'ai installé ODAC pour la liste des fournisseurs utilisés mais je ne peux pas savoir où il stocke cette configuration.

Y a-t-il quelque chose qui me manque? Ou existe-t-il d'autres moyens d'utiliser EF pour Oracle? Par exemple. Retour à VS2015, création manuelle de modèles d'entité (comment faire cela?), Etc.

S'il vous plaît, aidez-moi, je ne veux plus jamais écrire de code SQL clair en code! Merci.

4
jack3694078

Il y a quelque chose en plus:

  • Le gestionnaire de packages Nuget suggère Oracle.ManagedDataAccess.EntityFramework 18.3.0

Cela ne fonctionnera pas avec le dernier ODP. Les versions du package Nuget doivent correspondre aux versions ODP:

  • ODP 12.2.0.1.1
  • Nuget Oracle.ManagedDataAccess.EntityFramework 12.2.1100

Si ce n’est pas le cas, le modèle de données d’entité Wizard se bloquera sans laisser de trace 

C:\Utilisateurs\YOURUSER\AppData\Roaming\Microsoft\VisualStudio

2

Je faisais face au même problème. Assurez-vous d'abord que vous avez installé odac pour Visual Studio 2017 Il vous suffit de cliquer sur ce lien et de suivre: https://www.Oracle.com/technetwork/topics/dotnet/downloads/odacmsidownloadvs2017-3806459.html désinstaller la version précédente d'odac . Espérons que si vous installez à partir du lien, vous obtiendrez tout.

0
monir hossain

J'ai le même problème, mais j'ai trouvé la solution ici:

N'utilisez pas le pilote .NET. Utilisez le pilote ODP.NET (géré ou non géré).

http://www.Oracle.com/technetwork/topics/dotnet/whatsnew/vs2012welcome-1835382.html

Créez une nouvelle connexion à partir de Server Explorer dans Visual Studio et utilisez ces images comme guides: modifiez la source de données en veillant à choisir le style d'ODP.NET que votre application .NET utilisera (Managed ou Unmanaged), puis connectez-vous à Oracle. Dans la boîte de dialogue de connexion Oracle, si vous avez un alias de connexion, choisissez un "Type de connexion" ou "TNS", puis choisissez-le dans la liste déroulante "Nom de la source de données". Si vous ne possédez pas d'alias de connexion, vous pouvez choisir un type de connexion "EZ Connect", puis fournir l'hôte, le port et le nom du service pour la base de données à laquelle vous souhaitez vous connecter. 

Cordialement, Par

0
Par Douhan