[Linq-To-Sql] विधि वाक्यविन्यास के साथ linq में sql में शामिल होने के लिए कैसे करें?


Answers

जस्टिन ने उस मामले में विस्तार को सही ढंग से दिखाया है जहां शामिल होने के बाद ही select किया जाता है। यदि आपके पास कुछ और है, तो पारदर्शी पहचानकर्ताओं के कारण यह अधिक कठिन हो जाता है - सी # कंपाइलर तंत्र शामिल होने के दोनों हिस्सों के दायरे को फैलाने के लिए उपयोग करता है।

तो जस्टिन के उदाहरण को थोड़ा बदलने के लिए:

var result = from sc in enumerableOfSomeClass
             join soc in enumerableOfSomeOtherClass
             on sc.Property1 equals soc.Property2
             where sc.X + sc.Y == 10
             select new { SomeClass = sc, SomeOtherClass = soc }

इस तरह कुछ में परिवर्तित किया जाएगा:

var result = enumerableOfSomeClass
    .Join(enumerableOfSomeOtherClass,
          sc => sc.Property1,
          soc => soc.Property2,
          (sc, soc) => new { sc, soc })
    .Where(z => z.sc.X + z.sc.Y == 10)
    .Select(z => new { SomeClass = z.sc, SomeOtherClass = z.soc });

z यहां पारदर्शी पहचानकर्ता है - लेकिन क्योंकि यह पारदर्शी है, आप इसे मूल क्वेरी में नहीं देख सकते :)

Question

मैंने क्वेरीक वाक्यविन्यास में शामिल होने के तरीके पर LINQ से SQL उदाहरणों में कई उदाहरण देखे हैं, लेकिन मुझे आश्चर्य है कि विधि सिंटैक्स के साथ इसे कैसे किया जाए? उदाहरण के लिए मैं निम्नलिखित कैसे कर सकता हूं

var result = from sc in enumerableOfSomeClass
             join soc in enumerableOfSomeOtherClass
             on sc.Property1 equals soc.Property2
             select new { SomeClass = sc, SomeOtherClass = soc }

एक। .Join() ? क्या कोई एक और सरल उदाहरण दिखा सकता है या प्रदान कर सकता है?






Links