VS 2017 + EF6 + MySQL 闪退,找不到实体框架数据库等问题

问题主要两种:

1.提示“您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库“”

2.VS 2017 + EF6 + MySQL 闪退,找不到实体框架数据库等问题

在这个页面闪退。

 

搞了好久,网上的方法都试过了,最后发现,根本原因就是版本的兼容性问题,有些版本是不能用的,比如,最新的版本,基本都不行。

目前可以用,比较新的版本:

VS 2017 + EF6 + MySQL 闪退,找不到实体框架数据库等问题

最主要就是以上两个的版本,其它的EF版本,Mysql.Data的版本目前没有发现这个问题。

MySQL.Data  8.0.11

EntityFramework  6.2.0

mysql-8.0.13-winx64

 

配置文件:

<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework" requirePermission="false" />
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
  </configSections>
  <connectionStrings>   
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.11.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

  引用文件:

VS 2017 + EF6 + MySQL 闪退,找不到实体框架数据库等问题

MySql.Data.EntityFramework.dll 在对应的Connector Net  文件夹中,例如

C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.11\Assemblies\v4.5.2\MySql.Data.EntityFramework.dll

发出来避免大家掉坑,同时也自己记录下。