VS2013使用EF6与mysql数据库
您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧
在vs2013中使用mysql连接entityFramework经常会遇到这个问题:您的项目引用了最新实体框架;但是,找不到数据连接所需的与版本兼容的实体框架数据提供程序。请退出此向导,安装兼容提供程序,重新生成您的项目,然后再执行操作。
在vs中 使用mysql的问题多的会让人蛋疼。在这里给个妥妥的一条龙解说哈。
<无耐心看过程讲解的可直接看最下面>
在创建实体模型的时候 数据源选项很可能没有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
//Install-Package MySql.Data.Entity //2015-08-20 去掉.EF6
在.config 的providers 加一个节点
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>
完毕.
VS2013使用EF6与mysql数据库的更多相关文章
- Vs2013 使用EF6 连接mysql数据库
最近在使用MySQL数据库,在使用EF框架连接MySQL数据库时发现了一个问题,使用DB First创建实体对象的时候会出现如下图的错误:您的项目引用了最新版实体框架….. (如下图)或者会出现新建实 ...
- VS2015 +EF6 连接MYSQL数据库生成实体
VS2015 +EF6 连接MYSQL数据库生成实体 已安装软件:VS2015 XAMPP Control Panel(Mysql服务器) ...
- 使用VS2013 + EF6 连接Mysql数据库
使用VS2013 + EF6 + .NET4.5 连接Mysql数据库 1.安装插件 在使用Visual Studio 2013添加ADO.NET实体数据模型新建连接时,默认是没有Mysql选项的.此 ...
- VS2013使用EF与mysql数据库.
一个VS2013的mvc+EF+mysql的项目,需要连接Mysql数据库 一,下载一个mysql-for-visualstudio-1.2.3.msi,在自己的电脑上安装,这个是解决在创建实体模型( ...
- VS2013使用EF6连接MySql
前提:a.安装MySql的VS插件(版本请下载最新版) 我用的是:mysql-for-visualstudio-1.1.4 b.安装用于.net连接程序 mysql-connector-net-6. ...
- EF6 Codefirst+MySql 数据库迁移
简介 项目使用MSSql作为数据库,但是因为SQL服务器贵那么一点,并发连接差那么一点,要把数据迁移到MySQL,顺带迁移过程以及问题. 环境 Visual Studio 2013 MySQL 5.7 ...
- MVC4使用EF6连接mysql数据库
1.需要安装MySql.Data.Entity.EF6,此dll可以在项目——>管理NuGet程序包里联机搜索MySql.Data.Entity.EF6并安装即可 2.连接字符串需要添加prov ...
- Entity Framework EF6使用 MySql创建数据库异常解决办法
EF6使用MySQL数据库时,第一次创建数据库出现“Specified key was too long; max key length is 767 bytes”错误,解决办法请见以下连接. htt ...
- 使用VS2013 + EF6 + .NET4.5 连接Mysql数据库
1.安装插件 在使用Visual Studio 2013添加ADO.NET实体数据模型新建连接时,默认是没有Mysql选项的.此时我们需要安装两个东西: 1.mysql-for-visualstudi ...
随机推荐
- Python语法基础
# coding=utf-8import random teacher = (1 < 3) and (2 > 5)print (teacher) index = random.randin ...
- xcode 删除文件后编译会出现*** is missing from working copy
删除文件后 工程中会出现如图所示 如果你使用了svn管理工具 你就会看到如图所示 然后 选中 删除 就可以了 好了 多了 不多说了 最近比较忙 博客写的比较 少 等闲了 一定会 ...
- tomcat常见错误及解决方案
一,tomcat启动时错误 1:The JAVA_HOME environment variable is not defined This environment variable is neede ...
- 《AngularJS高级程序设计》学习笔记
一.AngularJS应用剖析 AngularJS存在一些最主要的构件,如模型,视图和控制器.但AngularJS中也有许多其他可供灵活使用的部件,包括模块,指令,过滤器,工厂和服务. 一 . 1 ...
- SAM4E单片机之旅——24、使用DSP库求向量数量积
DSP(Digital Signal Processing,数字信号处理)中会使用大量的数学运算.Cortex-M4中,配置了一些强大的部件,以提高DSP能力.同时CMSIS提供了一个DSP库,提供了 ...
- BIEE使用技巧
索引: 1.如何清除缓存 2.通过“编辑 SQL”取得前一天的日期 3.格式化日历框参数 4.根据传入的开始时间和结束时间取得事实表中的指标(用到了3中的技巧) 5.直接调用数据库函数 6.时间格式转 ...
- CSS之旅——第一站 为什么要用CSS
不知道有多少码农和我一样,css一直是一个软肋,软到全身酥麻...既然软肋来了,只能是要想办法解决,所以就找本CSS权威指南看一看,都说 CSS权威指南这本书比较过时,但是内容还是比较充实的,而且内容 ...
- SqlServer服务器和数据库角色
首先我们来阐述服务器(实例级别)的权限,实例级别和数据库级别权限的最大不同在于:实例级别的权限是直接授权给登录名,而数据库级别的全显示授予数据库用户的,然后数据库用户再与登录名匹配.(再SqlServ ...
- PHP 取前一天或后一天、一个月时间
//获得当前时间 //date()格式化时间返回String类型. date("Y-m-d H:i:s") $current_date = date(’Y-m-d’ ...
- Spark SQL 官方文档-中文翻译
Spark SQL 官方文档-中文翻译 Spark版本:Spark 1.5.2 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 Data ...