Этот вопрос и ответ был очень полезен для меня при переносе более крупного проекта EF с SQL на mySQL, поэтому я решил добавить свои заметки и надеяться, что они будут полезны:
Как уже отмечалось, имя строки подключения должно совпадать с именем класса, который расширяет System.Data.Entity.DbContext.
Кажется, до сих пор нет способа создавать таблицы в EF с использованием коннектора mySQL, но вы можете использовать и изменять сценарии создания SQL для генерации таблиц mySQL. Самым простым способом, который я нашел для этого, было закомментировать и отключить функцию OnModelCreating расширенного DbContext в зависимости от того, нужен ли код для воссоздания таблиц. Если я обнаружу, что делаю это чаще, я планирую решить эту проблему с помощью внедрения зависимостей и иметь отдельные классы, основанные на конфигурации MySQL или MSSQL.
Мне было легче убедиться, что в версиях и серверах dev был правильный соединитель mySQL .dll, упакованный в выпуске, чем связываться с DbFactoryProviders в webconfig. Получение правильной упаковки в пакете сборки проекта / решения означало, что мне нужны были только строки строки подключения, а не строки DbFactoryProviders, которые, как мне показалось, было трудно работать согласованно на нескольких машинах.
Мне нужно было изменить чувствительность регистра идентификатора mySQL с 0 до 1. Без этого параметра SQL, к которому подключен EF, не мог найти таблицы, которые были там из-за смешанных имен падежей моих объектов по сравнению с таблицы с фиксированным регистром, которые создает MySQL.