我的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');

10-01 03:56
查看更多