7

मुझे किसी एंटीटी कोलेक्शन में कुछ सॉर्टिंग जोड़ना अच्छा लगेगा जो आइटम्स कंट्रोल (xaml में) से जुड़ा हुआ है। मैं इसे जितना संभव हो उतना करना चाहूंगा। ऐसा प्रतीत होता है कि यह संभव नहीं है।EF4 EntityCollection <T> सॉर्ट करने का सबसे आसान तरीका क्या है?

यदि मैं संग्रह में संपत्ति संपत्ति के "क्रमबद्ध" संस्करण में संग्रह को लपेटता हूं तो मैं संग्रह परिवर्तन अधिसूचनाओं को खो देता हूं। मैं संग्रहव्यूसोर्स का उपयोग नहीं कर सकता क्योंकि इकाई संग्रह का बाइंडिंग लिस्ट कोलेक्शन व्यू कुछ देवताओं के कारण सॉर्टिंग का समर्थन नहीं करता है (नोट: मैंने ब्लॉग पोस्ट को "गंदे" हैक के साथ देखने के लिए देखा है, इसलिए कृपया इसका उत्तर न दें वह kthx)।

क्या यह प्राप्त करने के लिए एक सरल (एक्सएमएल की दो पंक्तियां, कोड की दो पंक्तियां, जो कुछ भी) तरीका है ??

उत्तर

3

EntityCollection प्रकार को सीधे फ़िल्टर या सॉर्ट नहीं किया जा सकता है। यह एक सामान्य LINQ-to-Entities समस्या है, देखें: Sort child objects while selecting the parent using LINQ-to-Entities

एक समाधान डेटा की आवश्यकता होने पर LINQ का उपयोग करके इकाई संग्रह को अलग से सॉर्ट करना होगा, और अतिरिक्त प्रदर्शन हिट करना होगा। यदि आप किसी संग्रह के साथ काम कर रहे हैं, तो आप छोटे और/या अक्सर इस्तेमाल होने की उम्मीद करते हैं, प्रसंस्करण समय में अंतर नगण्य हो सकता है।

यदि आप चाहते हैं कि डेटाबेस सॉर्टिंग करें और किसी भी इंडेक्स का उपयोग करें, तो आप मुख्य इकाई को बाल संस्थाओं के साथ प्रोजेक्ट कर सकते हैं। एलेक्स जेम्स ने अपने एमएसडीएन ब्लॉग में एक उदाहरण पोस्ट किया: http://blogs.msdn.com/b/alexj/archive/2009/02/25/tip-1-sorting-relationships-in-entity-framework.aspx। आप निश्चित रूप से अनाम प्रकार तक ही सीमित नहीं हैं।

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