在vs2013中使用mysql连接entityFramework经常会遇到这个问题:您的项目引用了最新实体框架;但是,找不到数据连接所需的与版本兼容的实体框架数据提供程序。请退出此向导,安装兼容提供程序,重新生成您的项目,然后再执行操作。

<无耐心看过程讲解的可直接看最下面>

    在创建实体模型的时候  数据源选项很可能没有MySql database,这问题很容易解决,只需要安装 mysql-for-visualstudio 即可解决,这里推荐版本是 mysql-for-visualstudio-1.2.3 。 还需要安装一个 MySQL Connector/Net , 我们来看一看来自官网的介绍:MySQL 官方的 .NET 驱动程序,MySQL 官方的 .NET 客户端开发包。mysql 数据库最新版dotnet数据库连接驱动。 所以 显而易见,这个程序必须装上,这里推荐版本是 mysql-connector-net-6.8.3 。 PS: 这里提醒下,这个版本不是越高的越合适,得配合你Mysql.data 的版本,目前大部分是使用mysql.data version 6.8.3 这版本。 如果安装高于 mysql-connector-net - 6.8.3 版本 , 安装后会修改VS下的machine.config :

<dependentAssembly>

<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="6.7.4.0" newVersion="6.8.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="MySql.Data.Entity" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="6.7.4.0" newVersion="6.8.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="MySql.Web" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="6.7.4.0" newVersion="6.8.3.0" />
</dependentAssembly>

<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.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

这里是安装6.8.3 版本后 修改的machine.config

安装6.9.4版本,会时 newversion = "6.9.4"  会导致很多后期问题:例如 引用问题 : could not load file or assembly 'Mysql.Data, Versio=6.8.3'   错误号 : 0x80131040 这样的程序集不匹配问题,在很多论坛上都看到过这个问题,造成的办法也大多是因为machine.config 被修改,强制指向高版本,导致的程序集不匹配。

当然这里如果通过手动修改machine.config 解决这个问题,可以一时解决,但是会引起后期很多不必要的问题, 所以建议直接安装 mysql-connector-net - 6.8.3

以上这两个安装完之后,恭喜你, 进入下一个错误, vs里 就会提示上述图片的错误。

这个错误的解决方案 网上的答案可以说是 众多纷纭 奇葩朵朵开啊。 其实解决方案很简单,人家都说了,找不到数据连接所需的与版本兼容的实体框架数据提供程序。

这里需要先安装nuget 管理器

在 - 工具 - 库程序包管理器 - 程序包管理器控制台 这里 默认项目, 在PM>后 输入

Install-Package EntityFramework -Version 6.0.0
Install-Package EntityFramework.zh-Hans -Version 6.0.0
Install-Package MySql.Data.Entity.EF6

每一句输完 回车执行

允许重新加载config.

这时候在providers 里 添加一个mysql.data.MysqlClint节点, 这个步骤很重要。

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

效果如下

<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"></provider>

</providers>

到了这一步

,重新生成一下方案  妥了!

这里是个小总结。给急性子的朋友看:

需安装:

mysql-for-visualstudio-1.2.3

mysql-connector-net - 6.8.3

nuget 包管理器

nuget 控制台输入

Install-Package EntityFramework -Version 6.0.0
Install-Package EntityFramework.zh-Hans -Version 6.0.0
Install-Package MySql.Data.Entity.EF6    //可能会出现下面的错误提示

解决方法是: 到https://www.nuget.org/packages/MySql.Data.Entity.EF6/ 查看一下命令的正确方式

有时可能版本不正确,需要添加版本信息

//如果执行时提示:

PM> Install-Package MySql.Data.Entity.EF6
Install-Package : 无法找到程序包“MySql.Data.Entity.EF6”。

在web.config 的providers 加一个节点            //此处需要手动添加配置项

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

vs2013添加mysql对EF的支持(转+说明)的更多相关文章

  1. VS2013服务器资源管理器添加Mysql数据源

    如何为VS2013服务器资源管理器添加Mysql数据源,如图: 接下来就看下如何添加 1.需要下载安装Mysql for Visual Studio 1.1.1 下载位置:http://downloa ...

  2. 超强PHP集成环境,支持800多个不同PHP版本同时运行,无限自定义添加mysql与php版本

    转载自今日头条 小编最近发现PHPWAMP竟然又更新了,激动之余向大家介绍一下新版的强大功能. PHPWAMP是纯绿色集成环境,高版本php无需安装VC运行库,默认已经集成VC运行库!Nginx支持服 ...

  3. MySQL 全文搜索支持, mysql 5.6.4支持Innodb的全文检索和类memcache的nosql支持

    背景:搞个个人博客的全文搜索得用like啥的,现在mysql版本号已经大于5.6.4了也就支持了innodb的全文搜索了,刚查了下目前版本号都到MySQL Community Server 5.6.1 ...

  4. VS2013与MySql建立连接;您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧

    因为之前都是看别人的项目,而没有自己从头到尾建立一个项目,所以这次尝试搭建时就出现了问题,主要是ASP.Net MVC项目中VS2013和MySql的连接. 第一个问题: 数据库表已建好,相应的数据库 ...

  5. Qt添加驱动——Qt数据库之添加MySQL驱动插件

    Qt数据库之添加MySQL驱动插件(1) 现在可用的数据库驱动只有3种,在Qt中,我们需要自己编译其他数据库驱动的代码,让它们以插件的形式来使用.下面我们就以现在比较流行的MySQL数据库为例,说明一 ...

  6. ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 配置 EF SQLite 支持 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 EF SQLite 支持 上一章节我有提 ...

  7. Linux下Zabbix5.0 LTS添加MySQL监控,实现邮件报警并执行预处理操作

    依据前文:Linux下Zabbix5.0 LTS监控基础原理及安装部署(图文教程) 环境,继续添加MySQL应用集. 第一部分:添加Zabbix自带的MySQL应用集. 在ZabbixClient-0 ...

  8. 分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控

    Zabbix3.0 Server以后就自带了MySQL插件来监控mysql数据库的模板,只需要配置好agent客户端,然后在web端给主机增加模板就行了. 以下是公司线上的zabbix3.0环境下添加 ...

  9. ASP.NET 为GridView添加序号列,且支持分页连续累计显示

    为GridView添加序号列,且支持分页连续累计显示,废话不多说,直接上代码: <%@ Page Language="C#" AutoEventWireup="tr ...

随机推荐

  1. Flutter提升开发效率的一些方法和工具

    Flutter的环境搭配完之后,就开始Flutter的开发,下面的一些工具和方法,可以省下一些时间. 自己在用的,暂时想到的,就是这些了,总结一下. 1.JSON解析快速生成实体类 根据接口返回的数据 ...

  2. 在cygwin下创建的文件位于windows的哪个目录下?

    答: 1. C盘的SPB_Data目录下 2. 在cygwin下通过pwd命令可以查看,例如: jello@jello ~ $ pwd /cygdrive/c/SPB_Data (/cygdrive/ ...

  3. POJ 1182 食物链(并查集+偏移向量)题解

    食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 82346   Accepted: 24616 Description ...

  4. Linux(CentOS)上面搭建Nginx环境

    总体上来说,Linux 这个系统其实挺好用的 除了看不见界面,但是用起来确实是比Window好用太多了,不废话了,直接说搭建环境的步骤! 安装Nginx 编译运行时的环境 参考博客:http://ww ...

  5. 通过sql语句修改表的结构

    1.修改表的列名 oracle: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名sqlserver:exec sp_rename '[表名].[列名]','[表名].[新 ...

  6. OAuth的MVC实现(微软)

    LoginController中: 第三方登陆 public ActionResult LogOn() { string liveUrl = string.Format( "https:// ...

  7. Linux下 网卡测速

    参考: How do I verify the speed of my NIC? Linux下 网卡测速 命令: $ sudo ethtool eth0 Settings for eth0: Supp ...

  8. HDU 4312 Meeting point-2(切比雪夫距离转曼哈顿距离)

    http://acm.hdu.edu.cn/showproblem.php?pid=4312 题意:在上一题的基础上,由四个方向改为了八个方向. 思路: 引用自http://blog.csdn.net ...

  9. Http_code码

    _codes = { : (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: (: ...

  10. Spring数据库连接池依赖

    <!-- https://mvnrepository.com/artifact/c3p0/c3p0 --> <dependency> <groupId>c3p0&l ...