最近要使用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

最终才可以用起来。

  1. 报错信息
  2. 这是因为config配置出错导致的

VS2017+EF+Mysql生成实体数据模型(解决闪退的坑) 版本对应才行的更多相关文章

  1. VS2017+EF+Mysql生成实体数据模型(解决闪退的坑)

    原文:VS2017+EF+Mysql生成实体数据模型(解决闪退的坑) 最近要使用VS2017+EF+Mysql,在生成实体数据模型踏过一些坑,在此做个总结. 1.先下载并安装 mysql-connec ...

  2. visualstudio2017 +EF+Mysql生成实体数据模型闪退

    VisualStudio2017+EF+MySql正常运转,费了不少劲,踏过不少坑 1.安装 Connector/NET 8.0.13 地址:https://dev.mysql.com/downloa ...

  3. VS2017 + EF + MySQL 我使用过程中遇到的坑

    原文:VS2017 + EF + MySQL 我使用过程中遇到的坑 写在前面: 第一次使用MySQL连接VS的时候本着最新版的应该就是最好的,在MySQL官网下载了最新版的MySQL没有并且安装完成之 ...

  4. VS2010解决闪退的方法

    VS2010解决闪退的原因 前言 在利用vs2010编译器进行编写程序的时候程序结果无法看到,针对上述问题有如下两个解决方法: 方法1. 在程序结束之前(return之前)加  system(&quo ...

  5. VS2017 + EF + MySQL 环境配置

    我使用过程中遇到的坑(血泪啊) 安装环境VS2017MVC+WIN10+EF6+MySQL8.0.12 1.安装MySQL connector一定要6.10.8,8.0以上全是坑,会闪退!!! 2.安 ...

  6. vs2017 .net core 项目调试浏览器网页闪退Bug

    from:https://blog.csdn.net/qq_36330228/article/details/82152187 vs更新2017最新版本后,项目调试浏览器莫名其妙出现闪退,每次都TMD ...

  7. Visual Studio 2010添加新项缺失[ADO.NET 实体数据模型]解决方法

    当进行ASP.NET MVC项目开发,准备使用EF进行数据库访问,我的开发模式是"Table First".于是,准备在Model目录新建EF的数据表映射文件.可是,在添加新项目窗 ...

  8. C#中使用EntityFramework(EF)生成实体进行存储过程的调用

    在EF中使用定义对象模型的方式调用一个存储过程,这个存储过程返回的是一组包含两列的值.(ProjectName,Count) 下面是存储过程: CREATE procedure [dbo].[Pro_ ...

  9. Visual Studio 2013 添加新项缺失[ADO.NET 实体数据模型]解决方法

    解决方法如下: 1).到 Visual Studio 2013 的安装包的目录:/packages/EFTools 中寻找如下文件 EFTools.msi; EFTools.cab,如图 将它们复制自 ...

随机推荐

  1. mongoDB(Window)

    1.启动命令 mongod --dbpath F:\mongo\data             注:dbpath路径不能有空格,我开始用F:\Program Files,就因为有一个空格,失败了. ...

  2. STL基础3:map

    #include <iostream> #include <map> #include <string> using namespace std; #define ...

  3. MZOJ 1345 hero

    一道宽搜模版题,可写错了两个地方的我只得了56(掩面痛哭) http://10.37.2.111/problem.php?id=1345 先看看正确的 #include <bits/stdc++ ...

  4. php socket通过smtp发送邮件(纯文本、HTML,多收件人,多抄送,多密送)

    <?php /** * 邮件发送类 * 支持发送纯文本邮件和HTML格式的邮件,可以多收件人,多抄送,多秘密抄送 * @example * $mail = new MySendMail(); * ...

  5. php 操作redis 以及几个常用命令

    redis-cli -h host -p port -a password 首次进入redis 进行绑定ip和端口号   del key 删除指定key   exists key 检查指定key是否存 ...

  6. MYSQL 事务测试

    mysql 事务测试 创建张表 lock1 增加字段 id,name . 增加两条记录 1,a 2,b 启动第一个会话 BEGIN; update lock1 set name='c' where i ...

  7. 不同数据源之间的数据同步jdbc解决方案

    最近项目中用到的数据要从一个数据源获取存进另一个数据源,简单的jdbc解决方案. package com.sh.ideal.test.syns; import java.sql.Connection; ...

  8. Keras预测股票

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Sat Nov 18 21:22:29 201 ...

  9. BAT文件语法和技巧(bat文件的编写及使用)

    源文链接:http://www.jb51.net/article/5828.htm 比较有用的东比较有用的东西 首先,批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们 ...

  10. java web 怎么下载大文件(上百M)

    Java代码   ; ]; , )) != -) { , bytesRead); 13.               } 14.               toClient.write(buffer ...