2009-06-13 11 views
39

मैं LINQ से Entities का उपयोग करके एक खोज पृष्ठ बनाने का प्रयास कर रहा हूं, लेकिन निम्न कोड मुझे l.t.e. के बारे में रनटाइम त्रुटि दे रहा है। 'बूलियन स्टार्ट्स विथ() को पहचान नहीं रहा। कोड बस ठीक है। स्टार्ट्स शिपिंग को संग्रहित प्रो में फ़िल्टर करने के साथ मैं इसे बेहतर तरीके से कैसे काम कर सकता हूं?LINQ से Entities और String.Starts के साथ समस्या

return from dp in dents.DirectoryPersonEntrySet 
      where 
       ((dp.LastName.StartsWith(searchTerm, StringComparison.CurrentCultureIgnoreCase)) || 
       (dp.Department.StartsWith(searchTerm, StringComparison.CurrentCultureIgnoreCase)) || 
       dp.Extension.StartsWith(searchTerm, StringComparison.CurrentCultureIgnoreCase)) 
      select dp; 
+0

क्या आप 'निम्नलिखित कोड' पोस्ट कर सकते हैं? या विषय पूरा कोड है? आपका मतलब है स्ट्रिंग। स्टर्ट्स बूलियन के बजाय। स्टर्ट्स के साथ? –

+0

@ रटर, धन्यवाद, मैं भेजने के लिए बहुत जल्दी था और कोड भूल गया था। मैंने हस्ताक्षर भी तय किया। – ProfK

+0

कम से कम 6 कोष्ठक अधिक हैं, और हम अभी भी फ़ंक्शन प्रोटोटाइप और कक्षा परिभाषा को याद कर रहे हैं ... – em70

उत्तर

77

मुझे लगता है कि ईएफ स्टार्ट्स के अधिभार का समर्थन नहीं करता है, जिसमें एक स्ट्रिंगकॉम्पिसन पैरामीटर होता है। या

dp.LastName.StartsWith(searchTerm) 

:

यह StartsWith, EndsWith और शामिल है, तो हो सकता है आप कोशिश कर सकते हैं का समर्थन करना चाहिए

dp.LastName.ToLower().StartsWith(searchTerm) 

और उसके बाद सुनिश्चित करें कि searchTerm भी लोअरकेस है ।

+2

मृत दाएं, पूरे स्ट्रिंग विकल्प thang फेंकता है EF – ProfK

+0

आकर्षण के रूप में काम किया, धन्यवाद –

+1

सही ढंग से अनुमान लगाया गया है, लेकिन ध्यान दें कि एसक्यूएल में अनुवाद करते समय यह असंवेदनशील है। – marsze

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