У меня есть небольшая ситуация, которая редко встречается, но ей было поручено представить для нее предварительно подготовленную проверку.Проверка наличия базы данных DBContext
В настоящее время, если наша БД отключена в автономном режиме, системное сообщение, получающее вывод, состоит в том, что стандартный объект имеет нулевую ссылку. Я мог бы захватить это через блок try/catch в этом одном месте. Однако это может быть несколько случаев.
Моя основная проблема заключается в следующем: у нас есть класс по умолчанию, который мы используем для вызова DbContext, который называется DatabaseContext.cs. Этот класс наследует DbContext, и в его конструкторе есть базовый вызов для соединения. См. Ниже, как это называется.
public partial class DatabaseContext : DbContext
{
public DatabaseContext()
: base(new OracleConnection(Common.Common.Decrypt(ConfigurationManager.
ConnectionStrings["Site"].ToString())), true)
{
}
Игнорировать часть расшифровки (мы шифруем нашу строку соединения). Мой вопрос, который у меня есть, - это способ, которым я могу заманить этот вызов? Я думал о том, чтобы попробовать/поймать его, но не был уверен в том, чтобы удалить его из базового вызова одновременно. Вероятно, это так просто, но я хочу быть уверенным до того, как удалю его, а затем у него возникнут проблемы. Благодарю.
Вы можете проверить это: http://stackoverflow.com/questions/19211082/testing-an-entity-framework-database-connection –
так, что вы хотите сделать, чтобы проверить ConnectionString является действительным или DBContext может быть успешно создан? –
@YashveerSingh Я ищу проверку, чтобы гарантировать, что DbContext существует и активен. Если соединение по какой-либо причине было разорвано (сервер DB вниз), я должен сообщить пользователю как можно более любезно. – IyaTaisho