2011-10-29 12 views
5

मैं ट्रिमस्टार्ट का उपयोग कैसे कर सकता हूं ताकि इकाई ढांचा समझ सके कि क्या करना है?उपयोगकर्ता फ्रेमवर्क क्वेरी में उपयोगकर्ता ट्रिमस्टार्ट

यहाँ मेरी क्वेरी है:

string number="123"; 
Workers.Where(x => x.CompanyId == 8).Where(x => x.Number.TrimStart('0') == number); 

मैं कैसे AsEnumerable बिना इस क्वेरी काम कर सकते हैं (वहाँ कंपनी 8 में श्रमिकों के एक बहुत हैं)?

+0

क्या संख्या संख्या हमेशा संख्यात्मक है? –

+0

@ ऑस्टिन सैलूनन: संख्या स्ट्रिंग है! वास्तव में – Naor

+0

। मुझे लगता है कि मेरा मतलब है स्ट्रिंग सामग्री हमेशा संख्यात्मक (आपके उदाहरण की तरह) या 'AAK89234' मान्य" संख्या "जैसी कुछ है? –

उत्तर

10

इसके लिए SqlFunctions.PatIndex का उपयोग करने का प्रयास करें। मैंने "000123", "000One", "abcde" के साथ नीचे दिए गए एक प्रश्न की जांच की और यह "123", "One", और "abcde" मानों के साथ सही ढंग से चुनी गई पंक्तियों का चयन किया।

Workers.Where(x => x.CompanyId == 8 && 
        x.Number.Substring(SqlFunctions.PatIndex("%[^0]%", x.Number).Value - 1) == number); 
-1

यह इसलिए क्योंकि एसक्यूएल में ट्रिम फ़ंक्शन केवल व्हाइटस्पेस ट्रिम कर सकते हैं तो एफई TrimStart विधि का समर्थन करता है, लेकिन केवल पैरामीटर के बिना।

आपकी आवश्यकता पहले स्थान पर होनी चाहिए ताकि आपके डेटाबेस में डेटा की गुणवत्ता बढ़ने के बारे में चर्चा हो! आपका डेटा कुशल तरीके से इस प्रकार के प्रश्नों का समर्थन करने के लिए गुणवत्ता प्रदान नहीं करता है।

+0

मैं समझता हूं कि आप क्या समझते हैं, यह एक समस्या है जो शून्य के साथ संग्रहीत डेटा है। लेकिन अभी यह प्रणाली है और मुझे इसके लिए एक समाधान खोजने की जरूरत है। धन्यवाद। – Naor

+0

डाउनवॉटेड - मैं डेटाबेस से सहमत हूं जहां डेटा साफ़ किया जाना चाहिए लेकिन तीसरे पक्ष के डीबी हमेशा इसका नियंत्रण नहीं देते हैं। एक और उपयोगी उत्तर जेफ का उल्लेख करने की समस्या का समाधान होगा। - कई सैद्धांतिक उत्तरों के लिए और एसओ पर पर्याप्त व्यावहारिक नहीं है। – hewstone

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