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

エンティティフレームワーク6にMySQL接続を使用できません

    最新の編集

    バグは修正されました。

    クリスのコメント:

    2015-11-07そして、ファイルを編集したり、奇妙なことをしたりすることなく、すべてを機能させることができるようになりました。 MySQL for Windowsインストーラーを使用し、VisualStudioサポートと最新のConnector.Netを含めます。インストール後に必ず更新してください。それぞれの最新のもの(1.2.5および6.9.8)を入手できます。 NuGetを使用して、EntityFramework、MySql.Data、およびMySql.Data.Entityをインストールします。最後に、Ado.Netエンティティモデルを追加して、コードファーストのリバースエンジニアリングの良さを構築してお楽しみください。

    元の回答

    MySQLのバグであることがわかりました。

    こちら 回避策を説明するリンク。

    VS 2013がインストールされているマシンで、VSプラグイン(1.1.3 GA)およびConnector / Net

    手順を実行する前に、すべてのVSインスタンスを閉じてください。

    Windowsエクスプローラウィンドウで、このパスまたはインストールした場所に移動します。コネクタ/ネットバイナリ

    C:\ Program Files(x86)\ MySQL \ MySQL Connector Net6.8.3 \ Assembly \ v4.5 \

    ファイルをコピーします:

    MySql.Data.Entity.EF6.dll

    そしてそれをこのフォルダに貼り付けます

    C:\ Program Files(x86)\ Microsoft Visual Studio12.0 \ Common7 \ IDE \ PrivateAssemblies

    上書きするように求められた場合は、上書きしてください。

    ファイルを上書きするには、管理者権限が必要です。

    その後、モデルのスクリプトの生成を再試行できます。

    この回避策はそのためのものであるため、VSプラグインの1.1.3バージョンをインストールしておくことが重要です。

    残念ながら、それは私には機能しないので、これが修正されるまでエンティティフレームワーク5にダウングレードしました。

    編集

    最後に、これで動作します。

    次の3つのDLLを追加する必要がありました:

    • C:\ Program Files(x86)\ MySQL \ MySQL Connector Net6.8.3 \ Assembly \ v4.5 \ MySQL.Data.dll
    • C:\ Program Files(x86)\ MySQL \ MySQL Connector Net 6.8.3 \ Assembly \ v4.5 \ MySql.Data.Entity.EF6.dll
    • C:\ Program Files(x86)\ MySQL \ MySQL Connector Net6.8.3 \ Assembly \ v4.5 \ MySQL.Web.dll

    次に、Web構成のEntityFramework部分を:

    に変更しました。
    <entityFramework codeConfigurationType="MySql.Data.Entity.MySqlEFConfiguration, MySql.Data.Entity.EF6">
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
        <providers>
          <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
        </providers>
      </entityFramework>
    

    再構築することを忘れないでください そして、MySQLを使用してエンティティフレームワーク6モデルを作成できるはずです。

    重要

    Visual Studio 1.1.3用のMySQLがインストールされていることを確認してください およびMySQLコネクタ.net6.8.3



    1. システムテーブルmaster..spt_valuesの目的は何ですか?また、その値の意味は何ですか?

    2. メモリ内でのみPostgreSQLを実行する

    3. MySQLのDATETIMEフィールドから日付のみを選択するにはどうすればよいですか?

    4. 'psql'のパスワードを非対話的に指定するにはどうすればよいですか?