Entity Framework Fournisseur ADO.NET Sql.Data.Client non trouvé

J’ai un problème similaire à celui présenté dans la question Aucun fournisseur Entity Framework trouvé pour le fournisseur ADO.NET avec le nom invariant ‘System.Data.SqlClient’ , le message d’erreur suivant s’affiche:

“Le fournisseur ADO.NET avec le nom invariant ‘System.Data.SqlClient’ n’est pas enregistré dans le fichier de configuration de la machine ou de l’application ou n’a pas pu être chargé. Voir l’exception interne pour plus de détails.”

Comme le suggèrent les réponses à la question correspondante, j’ai réinstallé Entity Framework (EF6) via la console du gestionnaire de packages, mais l’erreur persiste. J’ai également vérifié que EntityFramework.SqlServer.dll est référencé dans mon projet. Voici la chaîne de connexion telle que stockée dans App.config:

 

J’ai un autre projet où j’ai utilisé EntityFramework pour créer exactement les mêmes entités et le même contexte, et cela fonctionne très bien, ce qui rend tout cela encore plus déroutant.

L’erreur est affichée lorsque vous essayez d’exécuter ces lignes:

 DesignModel designContext = new DesignModel(); designContext.MoPerfIDs.Load(); 

où DesignModel est le nom de la classe qui hérite de DbContext.

Voici l’intégralité de l’App.config:

     

Toute aide serait appréciée. Merci d’avance.

Vous devez inscrire le fournisseur Entity Framework pour le type de connexion SQL System.Data.SqlClient. vous devriez avoir dans app.config:

   

Je ne savais toujours pas ce qui causait le problème, mais j’ai finalement créé une nouvelle solution et copié tout ce qui se trouvait dans mon projet. Maintenant fonctionne bien. Vraiment bizarre, en effet.

Wow … c’est assez spécial … En tout cas. Vous devez inscrire le fournisseur Entity Framework pour le type de connexion SQL System.Data.SqlClient .

Vous voulez append ce qui suit à votre app.config / web.config

   

Essayez d’append

var _ = System.Data.Entity.SqlServer.SqlProviderServices.Instance;

dans le ctor de votre designContext.

Le problème dans mon cas était que pour attraper une autre exception, j’avais activé les exceptions CLR. Et j’ai oublié de le désactiver.

Je l’ai désactivé dans mon contexte d’exception. et il a négligé cette exception et a ensuite couru et créé une firebase database pour moi (dans mon cas) automatiquement.

Installez simplement “MySql.Data.Entity” à partir de nuget! Il installera automatiquement le pilote mysql ado et le pilote d’entité!

J’ai eu cette erreur mais pour moi c’était quelque chose de complètement différent.

Je devais éditer:

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config 

Et:

 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 

La recherche de DbProviderFactories deux DbProviderFactories ressemblait à ceci:

       

Quand j’ai supprimé le tout a recommencé à fonctionner.

J’ai pu résoudre le problème en regardant uniquement Unable to find the requested .Net Framework Data Provider et en trouvant la réponse suivante:

https://stackoverflow.com/a/9929534/3850405

Il y a 2 options que vous pouvez essayer.

1) Charger manuellement “System.Data.SqlClient”

Incluez la déclaration suivante dans votre classe de contexte

var type = typeof(System.Data.Entity.SqlServer.SqlProviderServices);

2) Ne chargez pas “System.Data.SqlClient”

Par changement de

         

à

         

J’espère que votre problème est résolu.