VS2017+EF+Mysql生成实体数据模型(解决闪退的坑) 版本对应才行
最近要使用VS2017+EF+Mysql,在生成实体数据模型踏过一些坑,在此做个总结。
1.先下载并安装 mysql-connector-net-6.9.10.msi 和 mysql-for-visualstudio-1.2.7.msi ,现在官网提供的是mysql-connector-net-6.10.6,我试过,这个版本不行,原因后面再讲。
2.通过nuget来安装 EntityFramework 、MySql.Data、MySql.Data.Entity (我安装的是目前最新的版本,分别是6.2.0, 6.10.6,6.10.6 )。
3.建立ADO.NET实体数据模型。
4.我选的是code first。
5.在这里可以“新建连接”或者使用以前建立过的连接,我们“新建连接”。
6.因为我们的数据源是mysql,所以要选择“MySQL Database”,这里要注意一下,如果没有安装本文第一步的mysql-connector-net 和 mysql-for-visualstudio,只有上面的Microsoft SQL Server这两项,因为Microsoft SQL Server才是微软的亲儿子。
7.填入连接属性,测试一下,看是否能连上我们的mysql数据库。
8.到了这一步,离成功非常近了,但是这里有个坑,会闪退,看图。
9.如果没有闪退,恭喜你,非常接近成功了!这里可以选择数据库表来自动生成实体。
10.完成!
坑主要是在闪退这里,为什么会闪退呢?因为vs2017的mysql驱动是6.9.8,(如何查看mysql驱动版本?在vs2017的安装目录的Common7\IDE\PrivateAssemblies 下能找到),而目前最新的mysql-connector-net 是 6.10.6,版本太高了,一开始我也是死活不行,降一点就可以了,本文用的是6.9.10,就可以了。


所以要下载对应的版本。记住最重要的是看自己vs里面的版本,然后再在mysql的官网下载对应的版本。
第二点,关于在引入MySQl.data.dll和Entity时候,也需要看版本,必须对应。
第三点,当model层作为类库的时候,web或者其他表现层要引用的时候,需要引入mysql.data.dll和entity因为需要另外一个dll

最终才可以用起来。
- 报错信息
这是因为config配置出错导致的
VS2017+EF+Mysql生成实体数据模型(解决闪退的坑) 版本对应才行的更多相关文章
- VS2017+EF+Mysql生成实体数据模型(解决闪退的坑)
原文:VS2017+EF+Mysql生成实体数据模型(解决闪退的坑) 最近要使用VS2017+EF+Mysql,在生成实体数据模型踏过一些坑,在此做个总结. 1.先下载并安装 mysql-connec ...
- visualstudio2017 +EF+Mysql生成实体数据模型闪退
VisualStudio2017+EF+MySql正常运转,费了不少劲,踏过不少坑 1.安装 Connector/NET 8.0.13 地址:https://dev.mysql.com/downloa ...
- VS2017 + EF + MySQL 我使用过程中遇到的坑
原文:VS2017 + EF + MySQL 我使用过程中遇到的坑 写在前面: 第一次使用MySQL连接VS的时候本着最新版的应该就是最好的,在MySQL官网下载了最新版的MySQL没有并且安装完成之 ...
- VS2010解决闪退的方法
VS2010解决闪退的原因 前言 在利用vs2010编译器进行编写程序的时候程序结果无法看到,针对上述问题有如下两个解决方法: 方法1. 在程序结束之前(return之前)加 system(&quo ...
- VS2017 + EF + MySQL 环境配置
我使用过程中遇到的坑(血泪啊) 安装环境VS2017MVC+WIN10+EF6+MySQL8.0.12 1.安装MySQL connector一定要6.10.8,8.0以上全是坑,会闪退!!! 2.安 ...
- vs2017 .net core 项目调试浏览器网页闪退Bug
from:https://blog.csdn.net/qq_36330228/article/details/82152187 vs更新2017最新版本后,项目调试浏览器莫名其妙出现闪退,每次都TMD ...
- Visual Studio 2010添加新项缺失[ADO.NET 实体数据模型]解决方法
当进行ASP.NET MVC项目开发,准备使用EF进行数据库访问,我的开发模式是"Table First".于是,准备在Model目录新建EF的数据表映射文件.可是,在添加新项目窗 ...
- C#中使用EntityFramework(EF)生成实体进行存储过程的调用
在EF中使用定义对象模型的方式调用一个存储过程,这个存储过程返回的是一组包含两列的值.(ProjectName,Count) 下面是存储过程: CREATE procedure [dbo].[Pro_ ...
- Visual Studio 2013 添加新项缺失[ADO.NET 实体数据模型]解决方法
解决方法如下: 1).到 Visual Studio 2013 的安装包的目录:/packages/EFTools 中寻找如下文件 EFTools.msi; EFTools.cab,如图 将它们复制自 ...
随机推荐
- 浅谈System.gc()
今天巩固给大家讲讲System.gc().Java的内存管理着实给各位编程者带来很大的方便,使我们不再需要为内存分配烦太多神.那么讲到垃圾回收机制,就不得不讲讲System.gc(). 先简单 ...
- JS高级-String- RegExp- Math- Date:
1. String: 切割: 将一个字符串,按指定分隔符,切割为多段子字符串 简单切割: 切割符是固定的 var arr=str.split("切割符") 强调: 切割后的结果中, ...
- PHP递归函数
递归函数(Recursive Function)是指直接或间接调用函数本身的函数 在每次调用自己时,必须是(在某种意义上)更接近 于解 必须有一个终止处理或计算的准则 function recursi ...
- test面板1
Ext.onReady(function(){ var myPanel=new Ext.TabPanel({ renderTo:Ex ...
- 783. Minimum Distance Between BST Node
方法一,非递归方法,中序遍历 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *l ...
- 2018.10.30 bzoj4942: [Noi2017]整数(线段树压位)
传送门 直接把修改的数拆成logloglog个二进制位一个一个修改是会TLETLETLE的. 因此我们把303030个二进制位压成一位储存在线段树里面. 然后维护区间中最靠左二进制位不为0/1的下标. ...
- Java核心技术之类与对象
知识点 1. 一个对象变量并没有实际包含一个对象,而仅仅引用一个对象.new操作符的返回值也是一个引用. 2. 局部变量不会自动地初始化为null,而必须用过调用new或将他们设置为null进行初始化 ...
- JSON转JS对象,JS对象转JSON
一.从服务端发来的json字符串,怎么才能作为JavaScript对象(JSON对象)在web端调用呢? 1.如果使用jQuery,就很方便了,可以在ajax一系列函数中,把参数Datatype传js ...
- springboot深入学习(一)-----springboot核心、配置文件加载、日志配置
一.@SpringBootApplication @SpringBootApplication是spring boot的核心注解,源码如下: 相当于:@Configuration+@EnableAut ...
- IntelliJ IDEA 2017版 spring-boot2.0.4+mybatis+Redis处理高并发,穿透问题
一.当采用reddis缓存的时候,如果同时,一万次访问,那么就会有10000次访问数据库所以就会对数据库造成巨大压力,这时候,就要用到线程 1.方法体上加锁(优点,防护住了并发锁,缺点降低了内存效率) ...