sql >> データベース >  >> RDS >> Mysql

EntityFrameworkデータベースプロバイダーの互換性エラー

    これらのapp.config 以下の行は、問題の原因を直接示しています。

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

    これは、マシンに以前のバージョンのMySQL Connector .NETがインストールされており、構成ファイル(6.8.3.0)内も参照していることを意味します。したがって、最初に以前のバージョンのMySQL Connector .NETをアンインストールする(EFプロバイダー文字列も削除する)必要があります。次に、MySql.Data.dllの参照を確認します 、MySql.Data.Entity.EF6.dllMySql.Web.dll 最新バージョン(6.9.9.0)およびentityFrameworkを参照しているライブラリ app.configのセクションは次のようになります:

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

    その後、プロジェクトをクリーンアップして再構築します。

    注意:\Program Files\Microsoft Visual Studio [version number]\Common7\IDE\PrivateAssembliesにあるMySQLライブラリを置き換えてみてください。 \Program Files\MySQL\MySQL Connector Net 6.9.9\Assemblies\v4.5にあるものと 以前のバージョンのアセンブリがまだ存在する場合。

    関連する問題:

    VisualStudio2013のEF6を使用したMySQLコネクタ



    1. 2つのデータベースの構造を比較しますか?

    2. PL / SQLチュートリアル:PL/SQLについて知っておくべきことすべて

    3. ORACLE SQL*Plusチュートリアル

    4. SQLServerのテーブルで使用されているスペースを確認してください