ORMs (ऑब्जेक्ट-रिलेशनल मैपिंग) संग्रहीत कार्यविधियों के साथ पारस्परिक रूप से अनन्य नहीं हैं। अधिकांश ओआरएम संग्रहीत प्रक्रियाओं का उपयोग कर सकते हैं। यदि आप चुनते हैं तो अधिकांश ओआरएम संग्रहित प्रक्रियाएं उत्पन्न करते हैं। तो यह मुद्दा या तो नहीं है या।
ORM अस्वीकार्य SQL उत्पन्न कर सकते हैं (प्रदर्शन के मामले में) और आप कभी-कभी उस SQL को हाथ से तैयार SQL के साथ ओवरराइड करना चाह सकते हैं। इसे पूरा करने के तरीकों में से एक एसपी (संग्रहीत प्रक्रियाओं) का उपयोग करके है।
डॉटनेट में, संग्रहीत प्रक्रियाओं का उपयोग न करें यदि:
यदि आप संग्रहीत प्रक्रियाओं से परिचित नहीं हैं (आपका मामला नहीं है, लेकिन पूर्णता के लिए शामिल है)।
यदि आप अपनी परियोजना के लिए जटिलता और वर्चस्व की एक परत पेश नहीं करना चाहते हैं।
आप एक ऐसा अनुप्रयोग बना रहे हैं जो विभिन्न डेटाबेस के साथ काम करना चाहिए या जिसे कई डेटाबेस सर्वरों पर दोहराया जाना चाहिए (यह अंतिम प्रतिबंध केवल कुछ डेटाबेस के लिए लागू हो सकता है)।
ध्यान दें कि ट्रिगर्स की तुलना ORM से नहीं की जा सकती है। ट्रिगर ऐसे कार्य करते हैं जो आपके एप्लिकेशन कोड में बेहतर नहीं होते हैं (जैसे डेटाबेस में डेटा लॉग करना या सिंक्रनाइज़ करना)।
कुछ लोग सुरक्षा के लिए (उदाहरण के लिए SQL इंजेक्शन को रोकने के लिए) और उनकी दावा की गई गति के लिए कोड में SQL पर संग्रहीत कार्यविधियों के उपयोग को प्राथमिकता देते हैं। हालाँकि, यह कुछ हद तक बहस का विषय है और इस पर विस्तृत चर्चा की आवश्यकता है।
यदि आपका ORM संग्रहीत कार्यविधियाँ उत्पन्न नहीं कर सकता है, और आपको एक बड़ी प्रणाली लिखनी है, तो आपको अपने मामले के आधार पर अतिरिक्त हाथ कोडिंग का वजन करने की आवश्यकता है।