मैं इस तरह सरल एसक्यूएल स्ट्रिंग है:डैप्पर AddDynamicParams "डायनामिक" पैरामीटर नाम
"SELECT * FROM Office WHERE OfficeId IN @Ids"
बात यह है कि है @Ids नाम एक संपादक में दर्ज किया जाता है तो यह जो कुछ भी हो सकता है, और मेरे समस्या अगर मैं में पास करना चाहते हैं, का कहना है कि पूर्णांक की एक सरणी, यह केवल साफ-सुथरी साथ काम करता है अगर मैं का उपयोग करें:
var values = new DynamicParameters();
values.AddDynamicParams(new { Ids = new[] { 100, 101 } });
लेकिन यह मुझे पता चला है कि पैरामीटर नाम Ids
है की आवश्यकता है और उस में ऐसा नहीं है मेरा परिदृश्य
मैं इस तरह एक "गतिशील" नाम से एक "गतिशील पैरामीटर" डैप्पर में सेट कर सकते हैं:
var values = new DynamicParameters();
values.Add("Ids", new[] { 100, 101 });
लेकिन तब डैप्पर प्रत्येक मान के लिए अलग मानकों के साथ IN (....)
एसक्यूएल का निर्माण नहीं करता है।
AddDynamicParams
में पारित गतिशील वस्तु का निर्माण करने का कोई तरीका है लेकिन पहले नाम जानने के बिना सदस्य का नाम और मूल्य निर्धारित करना है?
मैं अपने परिदृश्य के लिए काम करने के लिए डैपर स्रोत को संशोधित कर सकता हूं, लेकिन अगर किसी को इसके लिए एक सरल और सुरुचिपूर्ण समाधान पता है तो मैं बहुत अच्छा होगा!
धन्यवाद बहुत धन्यवाद मार्क! एक जादू की तरह काम करता है! यही कारण है कि मुझे ओपन सोर्स पसंद है .. शानदार काम! –
@ जेनर्ड मेह, आप ओपन-सोर्स और बंद-स्रोत दोनों में तेज़ फिक्स प्राप्त कर सकते हैं। वास्तव में ओपन-सोर्स के लाभ का एक उदाहरण बनने के लिए, आपने मुझे फिक्स के लिए एक पुल अनुरोध भेजा होगा; पी –
हे, यह सच है, और मैंने अभी सोर्स कोड को देखना शुरू कर दिया था लेकिन आपने मुझे भूस्खलन से मार दिया ;) –