2011-06-24 6 views
19
var listair = empcon.OrderBy(x => x.CustomerConnection.OrderBy(y => y.Id)).ToList(); 

को लागू करना चाहिए "कम से कम एक वस्तु IComparable को लागू करना चाहिए"कम से कम एक वस्तु IComparable

मैं कैसे इस समस्या को हल कर सकते हैं?

+1

वैसे आपके द्वारा पोस्ट किया गया कोड तैयार नहीं है। Empcon क्या है? ग्राहक कनेक्शन क्या है? आपको अधिक जानकारी प्रदान करनी चाहिए। –

उत्तर

8

ग्राहक कनेक्शन और empcon द्वारा निहित वस्तुओं के प्रकार के लिए IComparable लागू। यदि उनके पास आईसीओम्पेरबल लागू नहीं है तो ऑर्डर करने का कोई तरीका नहीं है।

IEnumerable<OrgRelation> relations = from r in tree.OrgRelations 
               orderby r.ParentUnit, r.ChildUnit 
               select r; 

ऐसा इसलिए हुआ क्योंकि जनक एवं बाल इकाइयों दोनों संगठन-इकाई वस्तुओं इस OrgRelation इकाई से जुड़े हुए हैं कर रहे हैं:

26

मैं जब मैं गलत लिखा था मेरी क्वेरी के साथ इस समस्या थी। मुझे जिस वस्तु की आवश्यकता थी, वह ऑब्जेक्ट द्वारा आदेश देने के लिए नहीं था, लेकिन उस वस्तु की संपत्ति से जिस पर मैं वास्तव में सॉर्ट करना चाहता था। जब मैंने "नाम" जोड़ा तो यह काम किया।

IEnumerable<OrgRelation> relations = from r in tree.OrgRelations 
               orderby r.ParentUnit.Name, r.ChildUnit.Name 
               select r; 
+0

हां क्योंकि नाम का उपयोग करते समय यह एक स्ट्रिंग है और आईसीओम्पेरबल स्ट्रिंग पर पहले ही लागू हो चुका है। – juFo

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

  • कोई संबंधित समस्या नहीं^_^