Microsoft.EntityFrameworkCore не подключается к MySQL
Пытаюсь восстановить сущности из БД MySQL c помощью Microsoft.EntityFrameworkCore asp.net core 3.1):
Scaffold-Dbcontext -provider Microsoft.EntityFrameworkCore.SqlServer -connection "server=127.0.0.1; port=3306; user=root; password=root; database=db_users"
Выдает ошибку:
Keyword not supported: 'port'.
Убираю "port" из строки:
Scaffold-Dbcontext -provider Microsoft.EntityFrameworkCore.SqlServer -connection "server=127.0.0.1; user=root; password=root; database=db_users"
Выдает ошибку
ClientConnectionId:7eca0d7a-86db-4074-a287-143f7482ae90 Error Number:18456,State:1,Class:14 Ошибка входа пользователя "root".
Логин и пароль верные.
Ответы (1 шт):
Проблема в том, что Вы указываете провайдер для MS SQL сервера Microsoft.EntityFrameworkCore.SqlServer. В документации к EF Core имеется список доступных провайдеров. Для подключения к MySql Вы должны установить NuGet пакет провайдера Pomelo.EntityFrameworkCore.MySql и использовать его. В GitHub репозитории библиотеки имеется описание основных моментов работы, а также использование scaffold:
Scaffold-Dbcontext -provider Pomelo.EntityFrameworkCore.MySql -connection "Server=localhost;Database=ef;User=root;Password=123456;TreatTinyAsBoolean=true;"