में स्ट्रिंग फ़ील्ड में एक पूर्णांक द्वारा ऑर्डर करने के लिए मेरे पास कुछ डीबी से बाहर आने वाला डेटा है जिसे मैं आसानी से स्कीमा नहीं बदल सकता। मैं इसे क्रमबद्ध करना चाहता हूं और इसे संख्यात्मक आईडी के आधार पर नियंत्रण में जोड़ना चाहता हूं। समस्या यह है कि एपीआई int
और रूपांतरण प्रयास पर लिंक बारफ के बजाय स्ट्रिंग फ़ील्ड में संख्या संग्रहीत करता है।एक लिंक क्वेरी
myControl.DataSource = dataFromDB.OrderBy(o => int.Parse(o.StringHoldingAnInt));
संस्थाओं को LINQ विधि 'Int32 पार्स (System.String)' विधि को नहीं पहचानता है, और इस विधि एक दुकान अभिव्यक्ति में अनुवाद नहीं किया जा सकता है।
Convert.ToInt32
या तो काम नहीं करता है।
LINQ से संस्थाएं 'Int32 ToInt32 (System.String)' विधि को पहचान नहीं पाती हैं, और इस विधि को स्टोर अभिव्यक्ति में अनुवादित नहीं किया जा सकता है।
स्ट्रिंग के रूप छंटाई उपयुक्त नहीं है, क्योंकि मानों सभी एक ही लंबाई नहीं हैं और यह इस तरह से उन्हें आदेश होगा: 1, 10, 11, 2, 3 ..
वहाँ कितना डेटा है? क्या ग्राहक पक्ष को सॉर्ट करना संभव होगा? – dlev
आप '0' के साथ स्ट्रिंग को पैड करने का प्रयास कर सकते हैं ताकि वे सभी एक ही लंबाई हो ... लेकिन मुझे यकीन नहीं है कि स्ट्रिंग.पैडलिफ्ट लिंक द्वारा समर्थित है। –
डीडी में कई सौ पंक्तियां @ डीएलवी, जहां मेरे प्रश्न से छोड़ी गई थी() क्वेरी के बाद केवल कुछ दर्जन पंक्तियां। –