LINQ

2009-03-09 9 views
5

का उपयोग कर क्वेरी में आंतरिक शामिल होने के विपरीत सहायता की आवश्यकता है मेरे पास XML डेटासेट में दो टेबल हैं। टी 1, टी 2। प्रत्येक तालिका में एक आईडी कॉलम है।LINQ

टी 1 टी 2 आदेश

मैं एक LINQ क्वेरी कि केवल ग्राहकों को आदेश नहीं दिया है कि की आईडी रिटर्न का निर्माण करना चाहते की एक सूची है ग्राहकों की एक सूची है। दूसरे शब्दों में ग्राहक आईडी जो टी 2 तालिका में मौजूद नहीं है।

ओह हाँ, मैं सी #

धन्यवाद का उपयोग कर रहा हूं!

उत्तर

6

मुझे लगता है कि यह काम करेगा (अपने डेटासेट के लिए अनुकूल कृपया):

var query = from c in T1 
      where !(from o in T2 select o.CustomerID) 
      .Contains(c.CustomerID) 
      select c; 
+0

वाह - यह आसान था! सहायता – Rick

1

तुम बस हमें जहां खंड और सभी एक की जरूरत है:

T1.Where(item1 => T2.All(item2 => item1.ID != item2.ID)); 
+0

ऐसा लगता है कि यह भी काम करता! सहायता के लिए धन्यवाद। – Rick

7

यह एक बाहरी की आवश्यकता में शामिल होने और एक चेक शून्य पर

var result = from c in Customers 
      join d in Details on d.CustomerID equals c.ID into g 
      where !g.Any() 
      select c; 
+0

के लिए धन्यवाद यह स्वीकार्य उत्तर से तेज़ प्रतीत होता है – Stefanvds

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