關於如何使用請查看項目文檔便可
組件地址:https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySqlmysql
遇到的是在使用 CodeFirst 生成數據庫的字符集編碼問題
執行遷移命令:Add-Migration 版本
, Update-Database
生成數據庫(若無自動建立)的字符集爲 latin1 -- cp1252 West European
此字符集將會在生成查詢語句包含中文的時候報以下錯誤git
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_bin,COERCIBLE) for operation '='MySql.Data.MySqlClient.MySqlException (0x80004005): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_bin,COERCIBLE) for operation '=' ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8mb4_bin,COERCIBLE) for operation '='
其實組件最開始就建議了設置字符集爲:utf8mb4
(MySQL5.5.3及以上),因此遇到上訴錯誤只須要執行修改數據庫字符集命令便可github
utf8mb4
的數據庫再執行遷移alter database 數據庫名稱 character set utf8mb4;
,可是注意這並不能修改已建立的表的字符集編碼;故仍是建議手動建立數據庫。show variables like 'character_set_database';
alter database 數據庫名稱 character set utf8mb4;