考えられる選択肢がいくつかあります:
- 削除が常に成功するように、データベースでカスケード削除を設定する
- 削除する前に、SELECT を使用して関連するレコードを確認してください。これには、アプリケーションが制約を認識している必要があります。
- 優れたドメイン モデル (ビジネス クラス) では、アプリケーションが関連レコードを認識できる必要があります。
- NHibernate などの O/R マッパーを使用して、カスケード削除操作を定義できます。
- SMO (Microsoft.SqlServer.Smo) を使用して、データベース スキーマのリレーションを検査し、既存の関連レコードを確認します。それが可能かどうかはわかりません。