Có một số lựa chọn tiềm năng mà bạn nghĩ đến:
- Thiết lập các thao tác xóa theo tầng trong cơ sở dữ liệu để quá trình xóa luôn thành công.
- Kiểm tra các bản ghi có liên quan với các CHỌN trước khi xóa. Điều này yêu cầu ứng dụng phải có kiến thức về các ràng buộc.
- Mô hình miền tốt (các lớp nghiệp vụ) sẽ cho phép ứng dụng nhận biết được các bản ghi liên quan.
- Một O / R Mapper, chẳng hạn như NHibernate, có thể được sử dụng để xác định các hoạt động xóa theo tầng.
- Sử dụng SMO (Microsoft.SqlServer.Smo) để kiểm tra lược đồ cơ sở dữ liệu cho các mối quan hệ, sau đó kiểm tra các bản ghi liên quan hiện có. Tôi không biết điều đó có khả thi không.