2009-08-19 23 views
21

.Net में, क्या कोई नया SqlCommand ऑब्जेक्ट बनाने और SqlConnection को जोड़ने और CreateCommand() को मौजूदा SqlConnection ऑब्जेक्ट पर कॉल करने के बीच कोई कार्यात्मक अंतर है?क्या SqlConnection.CreateCommand और नया SqlCommand के बीच कोई अंतर है?

उत्तर

31

नहीं, वे वही बात हैं।

मैं SqlConnection.CreateCommand disassembled और इस पाया: जो साबित करता है कि वे वास्तव में एक ही बात कर रहे हैं

public SqlCommand CreateCommand() 
{ 
     return new SqlCommand(null, this); 
} 

7

कार्यात्मक रूप से वे बिल्कुल वही हैं।

हालांकि, SqlConnection.CreateCommand() आपको इस बारे में अधिक अज्ञेयवादी होने देता है कि आप किस प्रकार के डीबी का उपयोग कर रहे हैं। उदाहरण के लिए SqlConnection उदाहरण पास करने के बजाय आप इसे DbConnection के रूप में पास कर सकते हैं जो DbCommand उत्पन्न करेगा।

9

वे वही काम करते हैं। SqlConnection.CreateCommand के पीछे तर्क कारखाना पैटर्न को लागू करना है।

संबंधित मुद्दे