Проблема сопоставления MySQL с Entity Framework Core

0

Мое основное веб-приложение asp.net - это база данных MySQL. Я создаю базу данных миграции и обновления, затем я вижу сортировку таблицы, которая отличается на разных машинах. На моей машине его latin1 - сортировка по умолчанию и на другой машине - это utf8 - сортировка по умолчанию.

Поэтому из-за этого поведения я получаю исключение, вставляя в японский или какой-либо другой язык, например 日本語, Español México или 简体 中文, в таблицу с столбцом varchar (64). Он отлично работает на другой машине, которая имеет utf8 - сопоставление по умолчанию в этой таблице.

EF Core Версия: 2.0.1

MySql: 5.7.22 **

Является ли это проблемой EF Core? Или есть ли какое-либо решение для создания базы данных с надлежащей сортировкой или кодировкой?

Теги:
asp.net-core
entity-framework-core

1 ответ

1
Лучший ответ

Это не проблема EF Core, если вы настроили настройку по умолчанию в своем MySql, то это будет выбрано MySql. Таким образом, сопоставление - это настройка системы базы данных. Вероятно, вам нужно изменить настройку по умолчанию на вашем компьютере.

Другим вариантом является добавление после создания инструкции таблицы в процессе миграции:

Sql('alter table <some_table> convert to character set utf8 collate utf8_unicode_ci');
  • 0
    Не могли бы вы дать мне знать запрос для SQL Server?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню