zoukankan      html  css  js  c++  java
  • 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的安装目录的Common7IDEPrivateAssemblies 下能找到),而目前最新的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配置出错导致的

  • 相关阅读:
    模糊匹配
    UPDATE SET FROM WHERE 续
    SQL SERVER 中row_number用法
    临时表和表变量
    镜像
    经典行列转换
    表记录查询最快查询方式
    NULL不是数值
    自增长值
    JSON
  • 原文地址:https://www.cnblogs.com/owenzh/p/10545836.html
Copyright © 2011-2022 走看看