首页 > 代码库 > Data Provider 中没有.net framework Data provider for Mysql 的解决方法

Data Provider 中没有.net framework Data provider for Mysql 的解决方法

近来做的一个项目中,数据库用的是 MySql, 而在项目使用 Entity Data Model 来做数据服务层
,可是在项目中添加 Data Entty Model 时,一般我们都会选择从数据库中直接生成,可是在选择
Data Provider 时,就是没有 .net framework  Data provider for Mysql, 里面默认就只有一个

.net framework Data provider for SQL Server , 这个只能与 Microsoft 的 SQL server 或者 mssql server 连接,如果和 Mysql 连接就会出错,接下来从数据库生成 数据实体这一步就没法做,工作进展就卡在了这了, 查询了好多资料,折腾了一两天,问题最终还是被解决了,可牺牲的是时间与效率,于是有了这篇博客,也是自己对这期间尝试的总结。好了,不多说了,下面我把具体的步骤列出,同时配有截图:

在项目中右键单击,添加新项:

 

2.选择 Data--> Ado.net entity data model

 

3. 选择从数据库生成模型

 

4. 选择数据来源

 

 

可是在这一步中,原来的 Data provider 就只有珍上 net framework data provider for sql server ,那个 net framework data provider for mysql 是我自己加进去的,下来就是 水添加 net framework data provider for mysql 关键的一步:

下载并安装 : mysql-installer-community-5.6.21.1

 

 

同时修改以下文件:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 文件

  <system.data>
    <DbProviderFactories>

      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>

PublicKeyToken 根据自己用的 MySql.Data.MySqlClient 的版本号来确定,在这里我用的是官网上最新的 6.9.5.0

重新启动项目,并重新添加数据实体模型

 

这下就OK了,问题终于得到了解决

 

Data Provider 中没有.net framework Data provider for Mysql 的解决方法