Entity Framework, как управлять ошибками для всего приложения?

1

Привет, у меня есть приложение WPF, использующее singleton для использования фреймворка сущности во всем приложении без использования всегда using(DbContext ctx =... )

public static MyEntityDatabase db = new MyEntityDatabase();

App.db.TableXXX.Where(...)...

Но как я могу управлять ошибками для всего приложения в одном событии? Я не хочу использовать try-catch для каждого запроса или обновления базы данных.

Есть идеи?

  • 2
    Я не думаю, что Singleton DataContext - хорошая идея. Отслеживание изменений может сделать его медленным через некоторое время.
  • 0
    Это не проблема, потому что программа не интенсивно использует базу данных. :)
Теги:
entity-framework
wpf

1 ответ

0
Лучший ответ

Вы можете использовать Application.DispatcherUnhandledException Event для этого. Все, что вам нужно сделать, это добавить имя метода App_DispatcherUnhandledException в класс App (app.xaml.cs.)

void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
    // your code here
}
  • 0
    Я попробовал это, но если я закрываю свой сервер MySQL, исключение не перехватывается обработчиком необработанного исключения. Почему?
  • 0
    Потому что ваше приложение не подключается к MySQL во время выключения сервиса. Если вы выполняете поиск или обновляете данные (после его закрытия), вы получите исключение.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню