Мое основное веб-приложение asp.net - это база данных MySQL. Я создаю базу данных миграции и обновления, затем я вижу сортировку таблицы, которая отличается на разных машинах. На моей машине его latin1 - сортировка по умолчанию и на другой машине - это utf8 - сортировка по умолчанию.
Поэтому из-за этого поведения я получаю исключение, вставляя в японский или какой-либо другой язык, например 日本語, Español México или 简体 中文, в таблицу с столбцом varchar (64). Он отлично работает на другой машине, которая имеет utf8 - сопоставление по умолчанию в этой таблице.
EF Core Версия: 2.0.1
MySql: 5.7.22 **
Является ли это проблемой EF Core? Или есть ли какое-либо решение для создания базы данных с надлежащей сортировкой или кодировкой?
Это не проблема EF Core, если вы настроили настройку по умолчанию в своем MySql, то это будет выбрано MySql. Таким образом, сопоставление - это настройка системы базы данных. Вероятно, вам нужно изменить настройку по умолчанию на вашем компьютере.
Другим вариантом является добавление после создания инструкции таблицы в процессе миграции:
Sql('alter table <some_table> convert to character set utf8 collate utf8_unicode_ci');