0

Я реорганизую свои проекты исключений. В этом проекте используется Entity Framework. Я хочу проверить соединение с базой данных перед всеми операциями в базе данных.Entity Framework проверяет все запросы?

Я думаю, я должен написать переопределенный метод на уровне доступа к данным, который запускается перед всеми запросами. Этот метод будет проверять соединение, и если есть проблема с соединением, следует бросить DBConnectionException -> (производный класс)

Как это сделать в DAL или классе контекста?

ответ

0

Может быть, это поможет, для EF-6 вы можете попробовать использовать DbCommandInterceptor

public class DbConnectionCheckInterceptor : DbCommandInterceptor 
    { 
     public override void NonQueryExecuting(DbCommand command, DbCommandInterceptionContext<int> interceptionContext) 
     { 
      //check connection 
     } 

     public override void ScalarExecuting(DbCommand command, DbCommandInterceptionContext<object> interceptionContext) 
     { 
      //check connection 
     } 

     public override void ReaderExecuting(DbCommand command, DbCommandInterceptionContext<DbDataReader> interceptionContext) 
     { 
      //check connection 
     } 
    } 

Перед запуском приложения

DbInterception.Add(new DbConnectionCheckInterceptor()); 
+0

Спасибо, но проект включает в себя Entity Framework 5.0 – ebruszl