EntityFramework6连接MySql数据库 乱码问题
看了 逆水寒龙
的使用EntityFramework6连接MySql数据库(db first方式)
自己刚好要用到Entity Framewrok6 连接Mysql,所以也操作了一遍,发现还是有一些问题。
准备工具应该用VS2013、 mysql-for-visualstudio-1.2.3.msi、 mysql-connector-net-6.9.8.msi
程序包管理器执行命令:
Install-Package EntityFramework Install-Package MySql.Data.Entity.EF6Install-Package MySql.Data.Entity -Version 6.9.8
mysql-connector-net-6.9.8.msi 要和 Install-Package MySql.Data.Entity -Version 6.9.8 这个对应才不会有闪退问题。
还有一个乱码问题
如上图:在Name列,由Entity Framework 插入的数据,在Entity Framework 没有乱码,
但是,在heidisql,Navicat for MySQL,等Mysql管理工具中会出现乱码。
解决方法 :在Entity Framework 连接字符串中指定编辑格式为charset=utf8;
在heidisql,Navicat for MySQL,等Mysql管理工具也使用utf8编码格式(heidisql 默认是gbk,Navicat for MySQL默认是utf8)
<add name="test2Entities" connectionString="metadata=res://*/test2.csdl|res://*/test2.ssdl|res://*/test2.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;user id=root;password=kfoekofkekkk;database=test2;charset=utf8;"" providerName="System.Data.EntityClient" />
而且:数据库,数据库的表(每个字段)在设计的时候也要用utf8编码