"विधि 'बूलियन युक्त (System.String)' के लिए कोई समर्थित अनुवाद नहीं है। SQL के लिए कोई समर्थित अनुवाद नहीं है।"विधि 'बूलियन युक्त (System.String)' में SQL
क्वेरी IsQueryable है, लेकिन यह काम करना बंद कर:
foreach (string s in collection1)
{
if (s.Length > 0)
{
query = query.Where(m => m.collection2.Contains(s));
}
}
अद्यतन: यह काम करता है जब मैं क्वेरी "IEnumerable" के बदले iqueryable बनाते हैं। लूप के माध्यम से पुनरावृत्ति के बजाय linq का उपयोग कर एक ही परिणाम प्राप्त करने का तरीका क्या होगा?
आप पोस्ट कर सकते हैं क्या आपकी क्वेरी से पहले ही इस पाश में चला जाता है? –
शुद्ध LINQ का उपयोग करना कोई चीज़ नहीं बदलता है - यह भी एक ही समस्या है। अज्ञात कारण के लिए, यदि LINQ "अजीब" संग्रह को हैशसेट के रूप में पहचानता है तो यह इसे आईनेमरेबल के रूप में उपयोग नहीं करता है, उपयोगकर्ता को अपने संग्रह को सीधे आईएनमेर्यूबल में परिवर्तित करना होता है - फिर सामग्री का सही ढंग से एसक्यूएल में अनुवाद किया जाता है (मुझे लगता है)। – greenoldman