c# - Linq Intersect(...).Any() inside of a Where clause throws NotSupportedException -
जब भी टैग तर्क खाली नहीं है मुझे एक NotSupportedException प्राप्त होता है: स्थानीय अनुक्रम LINQ में उपयोग नहीं किया जा सकता इसमें शामिल हैं (ऑपरेटर) को छोड़कर क्वेरी ऑपरेटर के एसक्यूएल कार्यान्वयन।
[WebMethod] सार्वजनिक स्थिर ऑब्जेक्ट GetAnswersForSurvey (स्ट्रिंग सर्वेनाम, Int? SurveyYear, IEnumerable & lt; स्ट्रिंग & gt; टैग, IEnumerable & lt; स्ट्रिंग & gt; बेंचमार्क) {IQueryable & lt; DAL.Answer & gt; परिणाम = नया डेटाक्लास डेटाटाउनटेक्स्ट ()। उत्तर। ऑर्डरबी (ए = & gt; एक.कुछ। वैरिएबल); यदि (! String.IsNullOrEmpty (surveyName)) परिणाम = परिणाम। कहाँ (a = & gt; a.Survey.Name == surveyName); अगर (सर्वेवीयर। हसवैल्यू) परिणाम = परिणाम। जहां (a = & gt; a.Survey.Year == सर्वेक्षण वर्ष। मूल्य); यदि (tags.Any ()) परिणाम = परिणाम। कहाँ (उत्तर = & gt; उत्तर। प्रश्न। टैग्स: चयन करें (टी = & gt; टी। लेबल) .छेछे (टैग) .कोई ()); यदि (बेंचमार्क। कोई भी) परिणाम = परिणाम। कहाँ (उत्तर = & gt; बेंचमार्क। शामिल हैं (उत्तर.प्रश्न। बेंचमार्ककोड)); वापसी परिणाम। चयन करें (a = & gt; नया {a.question.Wording, a.Demographic, बेंचमार्क = a.Question.BenchmarkCode, a.Question.Scale, a.Mean, a.MEPMean, a.NSSEMean}); } मुझे समझ में आ रहा है कि मैं ऐसा करने की कोशिश कर रहा हूं। यदि यह असंभव है, तो क्या कोई भी विकल्प प्रदान कर सकता है?
ऑब्जेक्ट के तरीकों Linq से SQL के लिए समर्थन नहीं है।
एक विकल्प एसक्यूएल के विरुद्ध कई उप-प्रश्नों को पूरा करने के लिए हो सकता है और फिर अपने प्रतिच्छेदन कार्यों को Linq to Objects के रूप में कर सकता है
Comments
Post a Comment