कुछ संभावित विकल्प दिमाग में आते हैं:
- डेटाबेस में कैस्केडिंग डिलीट सेट करें ताकि डिलीट हमेशा सफल रहे।
- हटाने से पहले सेलेक्ट के साथ संबंधित रिकॉर्ड की जांच करें। इसके लिए आवश्यक है कि एप्लिकेशन को बाधाओं का ज्ञान हो।
- एक अच्छे डोमेन मॉडल (व्यावसायिक वर्ग) को एप्लिकेशन को संबंधित रिकॉर्ड से अवगत होने देना चाहिए।
- एक O/R मैपर, जैसे NHibernate, का उपयोग कैस्केड डिलीट ऑपरेशंस को परिभाषित करने के लिए किया जा सकता है।
- संबंधों के लिए डेटाबेस स्कीमा का निरीक्षण करने के लिए SMO (Microsoft.SqlServer.Smo) का उपयोग करें, फिर मौजूदा संबंधित रिकॉर्ड की जांच करें। मुझे नहीं पता कि क्या यह संभव है।