ऐसा लगता है कि अधिकांश LINQ लैम्ब्डा अभिव्यक्तियों के साथ लिखा गया है। लैंबडा का उपयोग करके इस लिंक्स को फिर से लिखने के बारे में मैं कैसे जा सकता हूं, शैली के साथ थोड़े भ्रम (विशेष रूप से जुड़ने के साथ)?लैम्बडा अभिव्यक्तियों के साथ जुड़कर इस LINQ को फिर से लिखना कैसे करें?
var responses =
from c in questionRepository.GetReponses()
join o in questionRepository.GetQuestions() on
c.QuestionID equals o.QuestionID
where c.UserID == 9999
orderby o.DisplayOrder
select new { o.QuestionText, c.AnswerValue };
आपको इसे फिर से लिखने की ज़रूरत नहीं है। यह ठीक है, जैसा कि ईमानदार होना है। etimes मैं एक शैली का उपयोग करता हूं और कभी-कभी दूसरा, और यह एक ऐसा मामला है जहां मैं शायद क्वेरी सिंटैक्स के लिए जाऊंगा। [एमएसडीएन] से (http://msdn.microsoft.com/en-us/library/bb397676.aspx): 'जब आप LINQ प्रश्न लिखते हैं तो एक नियम के रूप में, हम अनुशंसा करते हैं कि जब भी संभव हो, आप क्वेरी सिंटैक्स का उपयोग करें और जब भी आवश्यक हो, विधि वाक्यविन्यास । –
मुझे जॉइन के लिए यह फॉर्म पसंद है। "लैम्ब्डा अभिव्यक्तियों" के साथ इसे 4 तर्क (प्लस रिसीवर) निर्दिष्ट करने की आवश्यकता होती है, जबकि उपर्युक्त के समान, अधिक अव्यवस्थित लगता है। –
हालांकि क्वेरी सिंटैक्स जुड़ने के लिए आसान है, लैम्बडा सिंटैक्स डीबग करना आसान है। विवरण के लिए https://www.simple-talk.com/dotnet/.net-framework/linq-secrets-revealed-chaining-and-debugging/ – Roger