Ada beberapa opsi potensial yang terlintas dalam pikiran:
- Siapkan penghapusan berjenjang dalam database sehingga penghapusan akan selalu berhasil.
- Periksa catatan terkait dengan SELECT sebelum menghapus. Ini mengharuskan aplikasi memiliki pengetahuan tentang batasan.
- Model domain yang baik (kelas bisnis) harus memungkinkan aplikasi mengetahui catatan terkait.
- Pemeta O/R, seperti NHibernate, dapat digunakan untuk mendefinisikan operasi penghapusan kaskade.
- Gunakan SMO (Microsoft.SqlServer.Smo) untuk memeriksa skema database untuk hubungan, lalu periksa catatan terkait yang ada. Saya tidak tahu apakah itu mungkin.