Istnieje kilka potencjalnych opcji, które przychodzą na myśl:
- Skonfiguruj usuwanie kaskadowe w bazie danych, aby usuwanie zawsze się powiodło.
- Przed usunięciem sprawdź pokrewne rekordy za pomocą opcji SELECT. Wymaga to, aby aplikacja znała ograniczenia.
- Dobry model domeny (klasy biznesowe) powinien umożliwiać aplikacji świadomość powiązanych rekordów.
- Mapper O/R, taki jak NHibernate, może być użyty do zdefiniowania operacji usuwania kaskadowego.
- Użyj SMO (Microsoft.SqlServer.Smo) do sprawdzenia schematu bazy danych pod kątem relacji, a następnie sprawdź, czy istnieją powiązane rekordy. Nie wiem, czy to możliwe.