2010-01-22 10 views
17

मैं ईएफ 4 का उपयोग करके चयन में टुपल्स कैसे प्राप्त कर सकता हूं?ईएफ से वापसी टुपल

 var productCount = (from product in context.products 
        select new Tuple<Product, int>(product, products.Orders.Count)); 

या

 var productCount = (from product in context.products 
        select Tuple.Create(product, products.Orders.Count)); 

इकाई की रूपरेखा का कहना है कि नहीं कर सकते पहले मामले के लिए नहीं खाली निर्माता का उपयोग करें, और दूसरे के लिए Tuple.Create विधि की पहचान नहीं।

उत्तर

19

कैसे प्रक्षेपण के लिए LINQ करने वाली वस्तुओं को बदलने के बारे में:

var productCount = from product in context.products 
       select new {Product = product, Count = products.Orders.Count }; 
var final = from item in productCount.AsEnumerable() 
      select Tuple.Create(item.Product, item.Count); 
+1

के करीब है वापस आ जाएगी यह एकमात्र विकल्प होगा: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=520269 –

+0

कोई बैग अनुमान नहीं है, फिर, विचार करना ;- मैंने "कनेक्ट" आइटम को ऊपर उठाया है। –

+0

मैं यह कर रहा हूँ। लेकिन एक बेहतर विकल्प मौजूद नहीं है? –

2

प्रयास करें

var productCount = from product in context.products 
        select new { product, Count = products.Orders.Count }; 

ऐसा अनाम प्रकार है जो बहुत एक टपल http://msdn.microsoft.com/en-us/library/bb738512.aspx

+4

मुझे पता है। लेकिन अज्ञात प्रकार सार्वजनिक नहीं हैं –