在visual studio中用EF6连接Mysql数据库,搞了我两天,刚刚搞定,其实很简单就是版本的问题,这里填个坑。
首先,必备插件
1. MySql Connector/NET
2. MySql for Visual Studio
3. Nuget安装EntityFramework
4. Nuget安装Mysql.Data.Entity
其次,有几个注意点
MySql和EF6与你用的visual studio版本无关
MySql for Visual Studio 是用于让你的VS能连上MySql数据库,这个版本能包括你的VS就可以了。
Mysql Connector/NET 才是最关键的,这个与你的MySql的版本相关,版本不要太高,不要太高,不要太高!
最重要的是MySql Connector/NET的版本,我的Mysql是5.6.12,用的Connector/NET是6.3.8,还要注意,表名和表中的字段名不要用中文,中文无法DB first
---------------------
Win10 Professional, Visual Studio 2019 Community
Mysql Connector Net 6.9.12 , MySQL for Visual Studio 12.8 ==> OK
NuGet Mysql.Data.Entity 6.9.12,Mysql.Data 6.9.12
反正就是尽力统一所有MySql 的版本号
---------------------------
自动生成的 app.config 里面 connectionString 使用了 System.Data.SqlClient ==修改为 ==》 System.Data.EntigyClient
如果改成 MySql.Data.MySqlClient 还是会报错 System.ArgumentException: 'Keyword not supported. Arg_ParamName_Name'
----------
C# 连接 mySQL 出现 GUID 应包含带 4 个短划线的 32 位数 问题
在连接字符串中加入 Old Guids=true;
如:server=localhost;userid=root;password=;database=airsys;Charset=gb2312;Old Guids=true;
Resource
C# 连接 mySQL 出现 GUID 应包含带 4 个短划线的 32 位数 问题_weixin_33912453的博客-CSDN博客
用EF6连接MySql数据库闪退和若干问题解决_如切如磋,如琢如磨-CSDN博客
VS2017+EF+Mysql生成实体数据模型(解决闪退的坑)_cainong2005的博客-CSDN博客_来自数据库的ef设计器 闪退