Er zijn een paar mogelijke opties die in je opkomen:
- Stel trapsgewijze verwijderingen in de database in zodat een verwijdering altijd zal slagen.
- Controleer op gerelateerde records met SELECT's voordat u ze verwijdert. Dit vereist dat de applicatie kennis heeft van de beperkingen.
- Een goed domeinmodel (bedrijfsklassen) zou de toepassing in staat moeten stellen op de hoogte te zijn van gerelateerde records.
- Een O/R Mapper, zoals NHibernate, kan worden gebruikt om trapsgewijze verwijderingsbewerkingen te definiëren.
- Gebruik SMO (Microsoft.SqlServer.Smo) om het databaseschema op relaties te inspecteren en controleer vervolgens op bestaande gerelateerde records. Ik weet niet of dat mogelijk is.