Ядро 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
, вам не нужно явно устанавливать этот пакет