में मैंने कुछ एंटीटी फ्रेमवर्क अनुप्रयोगों को डिजाइन करने के लिए पहले सिर पर जाने से पहले केवल कुछ वेबकास्ट देखे। मैंने वास्तव में इतना दस्तावेज नहीं पढ़ा और मुझे लगता है कि अब मैं इसके लिए पीड़ित हूं।आईसीओलेक्शन <T> वीएस सूची <T> इकाई फ्रेमवर्क
मैं अपने कक्षाओं में List<T>
का उपयोग कर रहा हूं, और यह बहुत अच्छा काम करता है।
अब मैंने कुछ दस्तावेज पढ़ लिए हैं और यह बताता है कि मुझे ICollection<T>
का उपयोग करना चाहिए था। मैंने इसे बदल दिया, और इससे मॉडल संदर्भ में परिवर्तन भी नहीं हुआ। ऐसा इसलिए है क्योंकि List<T>
और ICollection<T>
दोनों IEnumerable<T>
उत्तराधिकारी हैं, और वास्तव में ईएफ के लिए आवश्यक है?
हालांकि, यदि ऐसा है, तो ईएफ दस्तावेज क्यों नहीं बताता है कि के बजाय IEnumerable<T>
की आवश्यकता है?
किसी भी मामले में, क्या मैंने जो किया है, उसके लिए कोई डाउनसाइड्स हैं, या क्या मुझे इसे बदलना चाहिए?
तो .... मुझे थोड़ी आगे समझने के लिए बस के लिए - सूची विरासत IList, जो ICollection विरासत है, जो IEnumerable विरासत ? – wil
हाँ, वह श्रृंखला है। 'सूची' विरासत पदानुक्रम के कारण उन सभी इंटरफेस को लागू करना है ('IList ', 'ICollection ', 'IENumerable ')। पूरा होने के लिए, 'IList ' गैर-जेनेरिक 'IList', 'ICollection' और' IENumerable' इंटरफेस भी उठाता है। –
धन्यवाद ... कुछ Ixxx सुविधाओं में अभी भी मेरी समझ से बचें! हालांकि, आपको समझ में आया है कि एक आखिरी चीज जो मुझे परेशान कर रही है, अगर अन्य आईओएस के आईन्यूमेरेबल का उत्तराधिकारी है, तो आईन्यूमेरेबल में केवल यह कैसे पढ़ा जाता है यदि यह केवल एक पढ़ा जाता है? ... यदि यह बहुत जटिल है, तो चिंता न करें, जब मेरे पास थोड़ा समय लगेगा, तो मैं परावर्तक को आग लगाने की कोशिश करूंगा! – wil