Има няколко потенциални опции, които идват на ум:
- Настройте каскадни изтривания в базата данни, така че изтриването винаги да е успешно.
- Проверете за свързани записи с SELECT преди изтриване. Това изисква приложението да познава ограниченията.
- Добрият модел на домейн (бизнес класове) трябва да позволява на приложението да бъде наясно със свързани записи.
- O/R Mapper, като NHibernate, може да се използва за дефиниране на операции за каскадно изтриване.
- Използвайте SMO (Microsoft.SqlServer.Smo), за да проверите схемата на базата данни за връзки, след което проверете за съществуващи свързани записи. Не знам дали това е възможно.