我的asp.net核心Web应用程序是MySQL数据库。我生成迁移并更新数据库,然后看到表的排序规则在不同的机器上是不同的。在我的计算机上,其latin1-默认排序规则,在另一台计算机上,其为utf8-默认排序规则。
因此,由于这种行为,在将日语或某些其他语言作品(如日本语,EspañolMéxico或简体中文)插入具有varchar(64)列的表时,出现了异常。它在另一台具有utf8的计算机上正常工作-此表上的默认排序规则。
EF核心版本:2.0.1
MySQL的:5.7.22 **
这是EF核心问题吗?还是有任何变通办法来生成具有正确排序规则或编码的数据库?
最佳答案
这不是EF Core问题,如果您在MySql中配置了默认排序规则,则MySql将选择该默认排序规则。因此整理是数据库系统配置的事情。可能您必须在计算机上更改默认排序规则。
另一种选择是在迁移后创建表语句后添加:
Sql('alter table <some_table> convert to character set utf8 collate utf8_unicode_ci');