Как подключиться к базе данных mysql с помощью EntityFramework Core? - PullRequest
0 голосов
/ 23 октября 2019

Чтобы использовать ядро ​​asp.net mvc с базой данных mysql, я скачал поставщика EF_Core для Mysql .

Затем я зарегистрировался служба DbContext в файле запуска:

 services.AddDbContext<NawrasContext>(options=>
               options.UseMySql(Configuration.GetConnectionString("DefaultConnection")));

, и это мой appsettings.json :

  {
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DefaultConnection": "Server=centreenmi2019.mysql.db;Database=centreenmi2019;Uid=centreenmi2019;Pwd=Bced75652102;"

  }
}

Я успешно добавилмоя первая миграция, но когда я пытаюсь обновить базу данных, я получаю эту ошибку:

fail: Microsoft.EntityFrameworkCore.Database.Connection[20004]
  An error occurred using the connection to database '' on server 'centreenmi2019.mysql.db'.
MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.
 at MySqlConnector.Core.ServerSession.ConnectAsync(ConnectionSettings cs, ILoadBalancer loadBalancer, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs:line 440 

что я делаю не так? почему ошибка говорит мне:

Произошла ошибка при подключении к базе данных '' на сервере 'centreenmi2019.mysql.db'. а имя базы данных в строке подключения указано?

1 Ответ

0 голосов
/ 25 октября 2019

Используя эти шаги, вы можете решить проблему

  1. Использовать пакет Nugat с именем "Pomelo.EntityFrameworkCore.MySql"
  2. Зарегистрировать службу в Startup.cs

    services.AddCors ();

    services.AddDbContext (options => options.UseMySql (Configuration.GetConnectionString ("DefaultConnection"))));

  3. Использоватьэта строка подключения в appsettings.json

{"Ведение журнала": {"IncludeScopes": false, "LogLevel": {"По умолчанию": "Warning"}},

"ConnectionStrings": {"DefaultConnection": "Server = myServerAddress; База данных = myDataBase; Uid = myUsername; Pwd = myPassword; Encrypt = true;"}}

...