Попробовал MySQL Workbench, DBLoad с DBLoad.com и т. Д. Для прямой миграции данных, и все они потерпели неудачу.
Так что в итоге мы нашли "решение" ...
Во-первых, я изменил проект ASP.net Core:
//services.AddDbContext<ApplicationDbContext>(options =>
// options.UseSqlServer(
// Configuration.GetConnectionString("DefaultConnection")));
services.AddDbContext<ApplicationDbContext>(options =>
options.UseMySql(
Configuration.GetConnectionString("DefaultConnection")));
Затем пошел в консоль диспетчера пакетов и запустил: update-database
Это создало все таблицы в MySQL.
Затем открыл Microsoft SQL Management Studio. Щелкните правой кнопкой мыши по базе данных Задачи> Создать сценарии. Сохранение всего в один файл с расширенными параметрами Схема и выбранные данные.
Затем открыл скрипт db в Notepad ++ и применил следующие правки, используя «Заменить с расширенным режимом поиска»:
GO -> blank
[dbo]. -> blank
[ -> blank
] -> blank
)\r\n -> );\r\n
\r\n' -> '
DateTime2 -> DATETIME
После внесения изменений в Notepad ++ я удалил все связанные с SET, ALTER и CREATE вещи из текстового файла, а затем скопировал все строки вставки в MySQL Workbench в порядке , чтобы убедиться, что внешние ключи были уже заполнены до того, как данные этой таблицы были вставлены. Слава богу, что не было хранимых процедур, чтобы иметь дело с Какая боль в туке!
Также отметим, что приложение размещено на Azure. Потратил пару часов, борясь с API, не подключаясь к базе данных. Сначала это было неочевидным, поскольку приложение было фальшивым, выдавая Почтальону ошибку 404 Когда я впервые попытался подключить контроллеры API к базе данных MySQL, я ввел строку подключения к базе данных в конфигурацию службы приложений Azure. Это не сработало вообще, хотя запуск приложения локально работал нормально. Закончилось поиском другого поста на этом сайте, где упоминалось, что нужно избавиться от строки подключения к базе данных из окна «Служба приложений»> «Конфигурация». После этого работал как чемпион. Все данные с автоматически увеличиваемыми ключами связаны без проблем.
Я очень доволен результатами и надеюсь, что мне больше никогда не придется проходить этот процесс! Всегда приятно знать, что приложение теперь работает в полностью открытой инфраструктуре. Надеюсь, это кому-нибудь поможет. Удачи.