इस परियोजना पर मैं जिस परियोजना पर काम कर रहा हूं, उसमें एक सी # कॉम ऑब्जेक्ट को दोबारा शामिल करना शामिल है जो कुछ एसक्यूएल 2005 डेटाबेस में डेटाबेस एक्सेस लेयर के रूप में कार्य करता है।सी #/.NET3.5 में गतिशील एसक्यूएल प्रश्नों का निर्माण करने का सबसे अच्छा तरीका?
मौजूदा कोड के लेखक ने मैन्युअल रूप से एक स्ट्रिंग का उपयोग करके सभी एसक्यूएल प्रश्नों का निर्माण किया है और काफी जटिल एसक्यूएल स्टेटमेंट (~ 10 जॉइन,> 10 उप चयन, ~ 15-25 जहां स्थितियां और ग्रुपबी का निर्माण करने के लिए कई कथन हैं))। आधार तालिका हमेशा एक ही होती है, लेकिन जुड़ने, परिस्थितियों और समूहों की संरचना मेरे वर्ग/विधि में पारित पैरामीटर के सेट पर निर्भर करती है।
इस तरह की एसक्यूएल क्वेरी का निर्माण करना काम करता है लेकिन यह स्पष्ट रूप से एक बहुत ही सुरुचिपूर्ण समाधान नहीं है (और पढ़ने के लिए भी मुश्किल/समझना और बनाए रखना मुश्किल है) ... मैं बस एक साधारण "क्वेरीबिल्डर" लिख सकता हूं लेकिन मैं यकीन है कि है कि मैं इस तरह की समस्या के साथ पहली बार एक नहीं कर रहा हूँ कर रहा हूँ, इसलिए मेरे सवालों का:
- कैसे आप अपने डेटाबेस क्वेरी बनाने करते हैं?
- क्या सी # गतिशील रूप से प्रश्नों का निर्माण करने का एक आसान तरीका प्रदान करता है?
आईएफ स्टेटमेंट का एक गुच्छा एक गतिशील क्वेरी कैसे है? –
IQueryable अंतिम पंक्ति में SQL में परिवर्तित हो जाता है, जहां क्वेरी वास्तव में चलती है; सभी जहां LINQ कथन एक एसक्यूएल कहां खंड बन जाते हैं। इस तरह से मैं अत्यधिक परिवर्तनीय एसक्यूएल भी करता हूं। ऐसा करने के लिए एक संग्रहित प्रो लिखने की कोशिश करने से यह बहुत साफ है। –
@ किरालेसा: स्पष्टीकरण के लिए धन्यवाद। –