Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd zgodności dostawcy bazy danych Entity Framework

Wygląda na to, że te app.config linie poniżej wskazują bezpośrednio na źródło problemu:

<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>

Oznacza to, że na Twoim komputerze zainstalowano poprzednią wersję MySQL Connector .NET, która również odwołuje się do wewnętrznego pliku konfiguracyjnego (6.8.3.0), dlatego najpierw musisz odinstalować poprzednie wersje MySQL Connector .NET (również usunąć jego ciąg dostawcy EF). Następnie upewnij się, że odwołania do pliku MySql.Data.dll , MySql.Data.Entity.EF6.dll &MySql.Web.dll biblioteki, do których odwołuje się najnowsza wersja (6.9.9.0) i entityFramework sekcja w app.config powinna wyglądać tak:

<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>

Następnie wyczyść i odbuduj projekt.

Uwaga:Możesz spróbować zastąpić biblioteki MySQL w \Program Files\Microsoft Visual Studio [version number]\Common7\IDE\PrivateAssemblies z tymi w \Program Files\MySQL\MySQL Connector Net 6.9.9\Assemblies\v4.5 jeśli zestawy poprzedniej wersji nadal istnieją.

Powiązany problem:

MySQL Connector z EF6 w Visual Studio 2013



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak sprawdzić, czy nazwa kolumny jest zarezerwowanym słowem kluczowym w różnych bazach danych?

  2. MySQL — WYBIERZ * DO WYJŚCIA LOKALNEGO ?

  3. Kod błędu:1062. Zduplikowany wpis „1” dla klucza „PRIMARY”

  4. Historyzacja bazy danych

  5. błąd podczas używania mysql_real_escape_string()