您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧
转载至: http://www.cnblogs.com/Imaigne/p/4153397.html
您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 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
在.config 的providers 加一个节点
<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices,
MySql.Data.Entity.EF6"></provider>
您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧的更多相关文章
- VS2013与MySql建立连接;您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧
因为之前都是看别人的项目,而没有自己从头到尾建立一个项目,所以这次尝试搭建时就出现了问题,主要是ASP.Net MVC项目中VS2013和MySql的连接. 第一个问题: 数据库表已建好,相应的数据库 ...
- MySql EF6 DBFirst 向导无法生成 edmx 解决方法(同:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库提供程序)
使用 MySql EF6 DBfirst 生成模型时经常会遇到EF6模式无法选择的情况究其原因, 还是因为没有正确的使用 Connector/Net. 下面说一下使用方法. 使用 MySql DBFi ...
- nexus私服仓库搭建以及项目引用
第一步:使用ubunto下载安装nexus 并打开登录进入到nexus管理页面,默认账号为 admin 密码在 admin.password 中,首次登录会让你重新修改密码 第二步 配置自己本地 ...
- 在VS中安装EF和项目引用EF
1.通过Visual Studio安装NuGet (1). 打开Visual Studio扩展管理器 (2). 选择联机库,并在搜索中写入NuGet,然后点击搜索结果中NuGet Packag ...
- android library打包成aar形式供别的项目引用
1.我们项目已经有library存在,我们有需求是需要把library供其他项目引用,而且不能让其他项目随意更改我们项目的代码. 2.Rebuild Project 后zxinglib生成aar文件, ...
- .Net Core 项目引用本地类库方式(一)
最近了解到.NET Core 项目,引用本地类库DLL的方式有三种 1.非同解决方案下的引用,直接引用,浏览,找到对应的DLL,然后确定引用. 这种方式有个不好的地方就是,如果引用的DLL文件里面,也 ...
- 大数据技术之_25_手机APP信息统计系统项目_01_APP 数据生成模块 + 数据收集模块 + 数据处理模块框架搭建 + 业务需求处理 + 数据展示模块 +项目总结 + 问题总结
一 项目概述1.1 角色1.2 业务术语1.3 项目效果展示二 项目需求三 项目概要3.1 项目技术架构3.2 项目目录结构3.3 项目技术选型3.4 项目整体集群规划3.5 创建项目工程四 APP ...
- 在 Target 中获取项目引用的所有依赖(dll/NuGet/Project)的路径
原文:在 Target 中获取项目引用的所有依赖(dll/NuGet/Project)的路径 在项目编译成 dll 之前,如何分析项目的所有依赖呢?可以在在项目的 Target 中去收集项目的依赖. ...
- JAVA - SpringBoot项目引用MyBatis操作数据库
JAVA - SpringBoot项目引用MyBatis操作数据库 1. 创建SpringBoot项目,参考:https://www.cnblogs.com/1285026182YUAN/p/1232 ...
随机推荐
- OC字符串NSString
========================== 面向对象编程进阶和字符串 ========================== Δ一.类的设计模式—单例 [单例]程序允许过程中,有且仅有一块内存 ...
- OC中的特有语法
一. 分类-Category 1. 基本用途 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 l 继承 l 分类(Category) 2. 格式 分类的声明 @interface 类名 ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- php设计模式 工厂、单例、注册树模式
Source Code Pro字体 easyphp 命名空间:隔离类和函数,php5.3以后 //test5.php<?php namespace Test5;//命名空间必须是程序脚本的第一 ...
- JavaScript Patterns 6.7 Borrowing Methods
Scenario You want to use just the methods you like, without inheriting all the other methods that yo ...
- First glance in Go
Because I forgot to install the Chinese input in this OS, I have to use English input. The first pro ...
- Mongodb源代码阅读笔记:Journal机制
Mongodb源代码阅读笔记:Journal机制 Mongodb源代码阅读笔记:Journal机制 涉及的文件 一些说明 PREPLOGBUFFER WRITETOJOURNAL WRITETODAT ...
- Javascript之旅——终点站:困惑的settimeout
有时候结局不是很美好,但起码这也算是一种结局,这个系列的最后一篇settimeout,这是一个让人困惑的函数,也是我一直在吐槽JS的 原因,我们看不到JS的源代码,setimeout同样也是,从始到终 ...
- C#读取XML文件
--硬盘Xml文件存储路径:d:\xmlFile\Testxml.xml xml文件内容: <Root> <Tab> <ID>245575913</ID> ...
- 在Myeclipse中将maven程序部署到tomcat中
用新版的m2e插件就可以了,而且发布后修改jsp是不需要重新发布的.MyEclipse10.6自带新版m2e,只需在Run Configuration的Maven Build中new一个输入confi ...