sql >> Databáze >  >> RDS >> Mysql

Chyba kompatibility poskytovatele databáze entitního rámce

Zdá se, že tyto app.config řádky níže ukazují přímo na zdroj problému:

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

To znamená, že váš počítač má nainstalovanou předchozí verzi MySQL Connector .NET, která také odkazuje v konfiguračním souboru (6.8.3.0), proto musíte nejprve odinstalovat předchozí verze MySQL Connector .NET (také odstranit jeho řetězec poskytovatele EF). Poté zkontrolujte odkazy na MySql.Data.dll , MySql.Data.Entity.EF6.dll &MySql.Web.dll knihovny odkazující na nejnovější verzi (6.9.9.0) a entityFramework sekce v app.config by měla vypadat takto:

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

Poté projekt vyčistěte a znovu vytvořte.

Poznámka:Můžete zkusit nahradit knihovny MySQL v \Program Files\Microsoft Visual Studio [version number]\Common7\IDE\PrivateAssemblies s těmi v \Program Files\MySQL\MySQL Connector Net 6.9.9\Assemblies\v4.5 pokud stále existují sestavení předchozí verze.

Související problém:

MySQL Connector s EF6 ve Visual Studiu 2013



  1. Název tabulky nebo sloupce nemůže začínat číslicí?

  2. Jak vytvořit tabulku se sloupcem identity

  3. SQL - Najít celé slovo v textu

  4. Importujte data do databáze MySQL