मैं LINQ में कई टेबलों के बीच में सम्मिलित होने की कोशिश कर रहा हूँ । मेरे पास निम्न वर्ग हैं:
Product {Id, ProdName, ProdQty}
Category {Id, CatName}
ProductCategory{ProdId, CatId} //association table
और मैं निम्नलिखित कोड का उपयोग करता हूं (जहां product
, category
और productcategory
उपरोक्त वर्गों के उदाहरण हैं):
var query = product.Join(productcategory, p => p.Id, pc => pc.ProdID, (p, pc) => new {product = p, productcategory = pc})
.Join(category, ppc => ppc.productcategory.CatId, c => c.Id, (ppc, c) => new { productproductcategory = ppc, category = c});
इस कोड के साथ मुझे निम्न वर्ग से एक वस्तु प्राप्त होती है:
QueryClass { productproductcategory, category}
जहां Productproductcategory प्रकार की है:
ProductProductCategoryClass {product, productcategory}
मुझे समझ नहीं आ रहा है कि "टेबल" में शामिल कहाँ है, मैं एक एकल वर्ग की उम्मीद कर रहा था जिसमें शामिल वर्गों से सभी गुण हैं।
मेरा उद्देश्य क्वेरी से उत्पन्न कुछ गुणों के साथ किसी अन्य ऑब्जेक्ट को आबाद करना है:
CategorizedProducts catProducts = query.Select(m => new { m.ProdId = ???, m.CatId = ???, //other assignments });
मैं यह लक्ष्य कैसे प्राप्त कर सकता हूं?