Wenn es nur definierte Stellen gibt, an denen das Programm sich befinden kann, kannst du testen + reconnecten. Sonst müsstest du vor jedem Zugriff (zB DataSet.Next) auf die
DB testen + das geht nicht immer, weil damit auch der Context verlorengeht. Vielleicht wäre es eine Option, das Programm bei Inaktivität zu schließen? Oder wenigstens auf einen definierten Punkt zurückzufahren?