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