近来做的一个项目中,数据库用的是 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了,问题终于得到了解决

 

posted on 2014-11-17 09:42  wisdo  阅读(4730)  评论(0编辑  收藏  举报