Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur de compatibilité du fournisseur de base de données Entity Framework

Il semble que ces app.config lignes ci-dessous pointent directement vers la source du problème :

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>

Cela signifie que votre machine dispose d'une version précédente de MySQL Connector .NET installée, qui fait également référence au fichier de configuration interne (6.8.3.0), vous devez donc d'abord désinstaller la ou les versions précédentes de MySQL Connector .NET (supprimez également sa chaîne de fournisseur EF). Ensuite, assurez-vous des références de MySql.Data.dll , MySql.Data.Entity.EF6.dll &MySql.Web.dll bibliothèques référencées à la dernière version (6.9.9.0) et entityFramework La section dans app.config devrait ressembler à ceci :

<entityFramework>
  <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
  <providers>
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
  </providers>
</entityFramework>

Ensuite, nettoyez et reconstruisez le projet.

NB :Vous pouvez essayer de remplacer les bibliothèques MySQL dans \Program Files\Microsoft Visual Studio [version number]\Common7\IDE\PrivateAssemblies avec ceux de \Program Files\MySQL\MySQL Connector Net 6.9.9\Assemblies\v4.5 si les assemblages de la version précédente existent toujours.

Problème connexe :

Connecteur MySQL avec EF6 dans Visual Studio 2013