VS2015+MySql+EF6闪退等填坑总结

背景:VS2015+MySql+EF6(DB First)

踩坑顺序:之前的操作依次如下:

  1,安装 MySQL Connector/NET(不用想,装最新的,8.0.12)

  2.安装 MySQL for Visual Studio (不用想,装最新的,最新1.2.8)

  3.在VS2015创建WEB项目

  4.nuget 安装MySql.Data.Entity (最新6.10.8,会自动安装依赖包MySql.Data 6.10.8 和 EF 6.2.0)

一个坑:接下来,创建【ADO.NET实体数据模型】:

VS2015+MySql+EF6闪退等填坑总结_第1张图片

坑来了,点【下一步】,闪退,晕!

问题解决:查了好多说法,花了无数时间,发现最重要的是要保持驱动版本一致问题,总结各部件正确的版本是:

  1,安装 MySQL Connector/NET 6.10.8 (和后面的MySql.Data.Entity版本要一致)

  2.安装 MySQL for Visual Studio 1.2.8(这个版本关系不大。其与VS的兼容性可参考:https://dev.mysql.com/doc/connector-net/en/connector-net-versions.html)

  3.项目nuget 安装MySql.Data.Entity (最新6.10.8,会自动安装依赖包MySql.Data 6.10.8 和 EF 6.2.0)

  ***问题解决了,不会闪退了

要点:

  1、MySQL Connector/NET 、MySql.Data、MySql.Data.Entity 这三个部件版本要一致(截止2018-10-18各部件最新统一版本是6.10.8)

  2、不要给MySql.Data升级(不要见到新版本就激动...最新是8.0.12)

注意事项:

  1、MySql.Data 6.10.8支持的.net framwork版本是4.5.2。所以编译选项要选择为4.5.2,否则可能会有警告信息。

  2、MySQL Connector/NET当前最新是8.0.12,可到https://dev.mysql.com/downloads/connector/net/6.9.html 下载6.10.8版本。

第二个坑:您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 提供程序。

VS2015+MySql+EF6闪退等填坑总结_第2张图片

问题解决:在保证上面的前提下,检查webconfig配置文件。我因为在解决问题的过程中,尝试了不通的Mysql.Data版本,导致webconfig文件中的版本与实际使用的6.10.8不一致。

  1,runtime配置节


  
    
      
        
        
      
    
  

  2.entityFramework配置节


  
    
    
            
      
    
  

 3.system.data配置节

  
    
      
      
    
  

  ***问题解决了,不会出现版本不兼容提示了

参考文章:

     1、https://cloud.tencent.com/developer/ask/180113 

  2、http://www.cnblogs.com/mll5644/p/9692160.html

  3、https://stackoverflow.com/questions/28241500/cant-create-entity-data-model-using-mysql-and-ef6/38619052#38619052

你可能感兴趣的:(C#)