Dapper.NET
गतिशील पैरामीटर
खोज…
मूल उपयोग
किसी एक ऑब्जेक्ट / कॉल में सभी मापदंडों को बड़े करीने से पैकेज करना हमेशा संभव नहीं होता है। अधिक जटिल परिदृश्यों के साथ मदद करने के लिए, डैपर param
पैरामीटर को एक IDynamicParameters
उदाहरण होने की अनुमति देता है। यदि आप ऐसा करते हैं, तो आपके कस्टम AddParameters
विधि को उचित समय पर कॉल किया जाता है और उसे जोड़ने के लिए कमांड सौंप दी जाती है। ज्यादातर मामलों में, हालांकि, पहले से मौजूद DynamicParameters
प्रकार का उपयोग करना पर्याप्त है:
var p = new DynamicParameters(new { a = 1, b = 2 });
p.Add("c", dbType: DbType.Int32, direction: ParameterDirection.Output);
connection.Execute(@"set @c = @a + @b", p);
int updatedValue = p.Get<int>("@c");
यह दर्शाता है:
- (वैकल्पिक) किसी मौजूदा वस्तु से जनसंख्या
- (वैकल्पिक) मक्खी पर अतिरिक्त पैरामीटर जोड़ना
- कमांड को पैरामीटर पास करना
- कमांड समाप्त होने के बाद किसी भी अद्यतन मूल्य को प्राप्त करना
ध्यान दें कि RDBMS प्रोटोकॉल कैसे काम करते हैं, यह आमतौर पर किसी भी डेटा (एक Query
या QueryMultiple 'ऑपरेशन से) के बाद अद्यतन पैरामीटर मान प्राप्त करने के लिए केवल विश्वसनीय है, पूरी तरह से उपभोग किया गया है (उदाहरण के लिए, SQL सर्वर पर, अद्यतन पैरामीटर मान अंत में हैं TDS स्ट्रीम का)।
डॅपर में डायनामिक पैरामीटर्स
connection.Execute(@"some Query with @a,@b,@c", new {a=somevalueOfa,b=somevalueOfb,c=somevalueOfc});
टेम्पलेट ऑब्जेक्ट का उपयोग करना
आप अपने मापदंडों को बनाने के लिए किसी ऑब्जेक्ट के उदाहरण का उपयोग कर सकते हैं
public class SearchParameters {
public string SearchString { get; set; }
public int Page { get; set; }
}
var template= new SearchParameters {
SearchString = "Dapper",
Page = 1
};
var p = new DynamicParameters(template);
आप एक अनाम वस्तु या एक Dictionary
भी उपयोग कर सकते हैं