MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)

使用 MySql EF6 DBfirst 生成模型时经常会遇到EF6模式无法选择的情况MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)究其原因, 还是因为没有正确的使用 Connector/Net. 下面说一下使用方法. 使用 MySql DBFirst 前先确保安装了 MySqlMySQL for Visual StudioConnector/Net 注意: MySQL for Visual Studio, Connector/Net 版本要对应 MySql 版本.

    1. 新建一个项目, 从 nuget 中添加 EF6

       
      1
      Install-Package EntityFramework

      在项目的”引用”上点右键添加dll引用.MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)选择扩展程序集, 勾选 MySql.Data.Entity for EF6 , 注意提示框中的版本, 一个是4.0, 一个是 4.5. 这个dll 是安装 Connector/Net 后才有的.MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)
      注意: 用 nuget 安装 MySql.Data.Entity 也会自动引用 MySql.Data.Entity.EF6.dll. 但是这个 dll 在生成 edmx 时会出错. 所以才要像上面一样从扩展中引用 dll

    2. 修改 config 文件

      添加一行 provider

       
      1
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />

      添加完如下所示

       
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      <entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
          <parameters>
            <parameter value="v12.0" />
          </parameters>
        </defaultConnectionFactory>
        <providers>
          <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
          <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
        </providers>
      </entityFramework>

      重新生成一下项目, 到这里问题就已经解决了. 下面是效果.

    3. 在项目中添加新的 “Ado.Net 实体数据模型”(即 edmx 文件)

      MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)如果数据源不是 MySql, 点更新, 修改为MySql.MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)如果没有MySql Database , 说明 Connector/Net 没有安装或安装不正确. 重新安装.MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)这里可以正确显示了.

上一篇:ios如何一个证书多台设备测试


下一篇:uva :10123 - No Tipping(dfs + 几何力矩 )