Ядро Entity Framework: как получить соединение из DbContext?

Я пытаюсь создать новое ядро ​​Entity Framework с MySQL Connector.

Я могу получить допустимый DbContext и записать в базу данных, чтобы все было правильно настроено.

Мне нужно получить Connection из DbContext, потому что я должен проверить его в приложении, начиная с connection.Open() внутри оператора try. Если соединение отсутствует, консольное приложение должно попытаться запустить MySQL Server и повторить попытку.

Как я могу получить Connection из DbContext?

До EF6 на context.Connection. После EF6 на context.Database.Connection.

Похоже, что последнее также было удалено из EFCore.

Ответ 1

Пакет Microsoft.EntityFrameworkCore.Relational (https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational/) предоставляет для этого методы расширения - вы можете использовать dbContext.Database.OpenConnection() или dbContext.Database.GetDbConnection() для получения объект DbConnection.

Примечание. Если у вас установлено Microsoft.EntityFrameworkCore.SqlServer, вам не нужно явно устанавливать этот пакет