Aucun fournisseur Entity Framework trouvé pour le ADO.NET fournisseur de invariante nom de "Système".Les données.SqlClient'.
Nous utilisons EntityFramework 6 avec le Premier Code. Nous avons une application console qui n'a pas de référence à EntityFramework mais lit la chaîne de connexion à partir de son Application.config. Il appelle la DatabaseInitializationUtilities assemblée passant la chaîne de connexion en tant que paramètre.
DatabaseInitializationUtilities a la référence à EF6 (EntityFramework et EntityFramework.SqlServer). Son Application.config est: est-ce
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<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>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IAuthentication" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost/SecurityServices/Authentication.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IAuthentication" contract="SecurityService.IAuthentication" name="BasicHttpBinding_IAuthentication" />
</client>
</system.serviceModel>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
Lors de l'exécution atteint une ligne où DatabaseInitializationUtilities tente d'exécuter un script
context.Database.ExecuteSqlCommand(script.ScriptText)
l'erreur est levée:
Aucun fournisseur Entity Framework trouvé pour le ADO.NET fournisseur de invariante nom de "Système".Les données.SqlClient'. Assurez-vous que le prestataire est inscrit dans le " entityFramework section du fichier de config. Voir http://go.microsoft.com/fwlink/?LinkId=260882 pour plus d'informations.
Je crois que le remède est exactement ce que j'ai dans mon fichier de config, donc je ne comprends pas le problème.
REMARQUE: Resharper est bluelining le nœud et le reporting
"L'élément "EntityFramework' a une défaillance de l'élément enfant "prestataires". Toutefois, la section a été injecté par NuGet quand j'ai installé EF6.
Des idées?
- Jetez un oeil à la question suivante: stackoverflow.com/questions/14033193/...
- Je vous remercie. Le commentaire de [stackoverflow.com/questions/14033193/... a été utile. [1]: stackoverflow.com/questions/14033193/...
- Ajouter EntityFramework.SqlServer.dll pour l'application cliente et ajouter connectionstrings à son application.fichier de config a fait le tour. Maintenant l'erreur est parti stackoverflow.com/questions/18455747/...
- Dans notre cas, l'EF assemblées ont été GACed. Dans ce cas, vous devez utiliser la version complète nom de l'assembly dans le fichier de configuration: <fournisseur de invariantName="le Système de.Les données.SqlClient" type="System.Les données.De l'entité.SqlServer.SqlProviderServices, EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- Double Possible de Aucun fournisseur Entity Framework trouvé pour le ADO.NET fournisseur de invariante nom de "Système".Les données.SqlClient'
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour créer une référence, de sorte qu'il sera copié dans le dossier de débogage. Plus tard, il peut accéder à l'exécution.
N'avez pas à copier les fichiers, il suffit de créer cette référence:
avez-vous de l'assemblée EntityFramework.SqlServer.dll dans votre chemin de l'application?
J'ai eu le même Problème et après la copie de la dll dans le chemin de l'application, chaque Chose a bien fonctionné.
Enfin trouvé la réponse dans ce blog:
http://robsneuron.blogspot.com/2013/11/entity-framework-upgrade-to-6.html
J'ai eu ce problème aussi. Tout a fonctionné localement quand j'ai couru mon .net mvc application mais quand je l'ai édité j'ai eu cette erreur. Le problème était que j'avais pour référence le EntityFrameworl.SqlServer aussi dans mon projet web alhough j'avais séparé de projet pour les Données. Ce qui est étrange, c'est que cette erreur n'était que levée lors de l'application a été publié. C'est en quelques bug grave probablement à partir de Microsoft. J'ai utilisé EF 6.1.1.
C'est parce que
EntityFramework.SqlServer.dll
n'est pas copié dans votre projet. Ajouter cette dll et il faut espérer travail.Vous pouvez trouver que le projet dans lequel vous avez ajouté datamodel.Pour moi, il s'est avéré que mon fournisseur de référence dans le web.fichier de configuration est incorrecte. Je crois que le package nuget pourrait ne pas inclure le fournisseur.
J'ai remplacé mon fournisseur avec cela et il a travaillé:
Le meilleur moyen de se monter un tel type de problème est la référence EntityFramework.SqlServer.dll dans votre projet appuyez sur F4 (op les propriétés) modifier la propriété de la Copie Locale =True pour chaque et chaque fois, quand publier l'application, il sera copié dans le dossier publié.
J'ai tendance à ajouter EntityFramework de projet web, ainsi que de l'assemblée qui en fait la référence.
J'ai également eu un problème similaire
Mon problème a été résolu de la manière suivante:
Ajouter "EntityFramework.SqlServer.dll" dans votre projet dossier bin sera résolu votre problème.