मैं ORM उपकरण की तरह है, लेकिन मैं अक्सर सोचा है कि बड़े अद्यतन (पंक्तियों के हजारों) के लिए, इसे लोड, अद्यतन और बचाने के लिए अक्षम लगताएक ORM के साथ बड़े मात्रा डेटाबेस अपडेट
जब कुछ की तरहUPDATE [table] set [column] = [value] WHERE [predicate]
होगा बहुत बेहतर प्रदर्शन दें।
हालांकि, मानते हैं कि कोई प्रदर्शन कारणों से इस मार्ग को नीचे जाना चाहता था, फिर आप यह सुनिश्चित कैसे करेंगे कि स्मृति में कैश किए गए किसी भी ऑब्जेक्ट को सही तरीके से अपडेट किया गया हो।
कहें कि आप LINQ से SQL का उपयोग कर रहे हैं, और आप डेटाकॉन्टेक्स्ट पर काम कर रहे हैं, तो आप कैसे सुनिश्चित करते हैं कि आपका उच्च-प्रदर्शन UPDATE डेटाकॉन्टेक्स्ट के ऑब्जेक्ट ग्राफ़ में दिखाई देता है?
यह "आप नहीं करते" या "डीबी पर ट्रिगर्स का उपयोग करने के लिए डीईटी पर ट्रिगर्स का उपयोग करें जो कैश छोड़ देता है" आदि हो सकता है, लेकिन मुझे इस तरह की समस्या के सामान्य समाधान सुनने में दिलचस्पी है।
ओआरएम का उपयोग करने के कारणों में से एक नहीं है? यानी कि यह मेमोरी ऑब्जेक्ट्स को सिंक्रनाइज़ करने और संग्रहीत वस्तुओं को अद्यतन करने के लिए तंत्र प्रदान करता है? तंत्र निश्चित रूप से ओआरएम विशिष्ट –
हां होगा, लेकिन मेरा मुद्दा यह है कि यदि आप एक ओआरएम उपकरण का उपयोग करते हैं, और प्रत्यक्ष SQL विधि का उपयोग करके थोक अपडेट के प्रदर्शन में सुधार करना चाहते हैं, तो आप ओआरएम के कुछ लाभ खो देते हैं। –