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