Saya mencoba melakukan Gabung antara beberapa tabel di LINQ. Saya memiliki kelas-kelas berikut:
Product {Id, ProdName, ProdQty}
Category {Id, CatName}
ProductCategory{ProdId, CatId} //association table
Dan saya menggunakan kode berikut (di mana product
, category
dan productcategory
adalah contoh dari kelas di atas):
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});
Dengan kode ini saya memperoleh objek dari kelas berikut:
QueryClass { productproductcategory, category}
Di mana kategori produkproduk berjenis:
ProductProductCategoryClass {product, productcategory}
Saya tidak mengerti di mana "tabel" yang tergabung, saya mengharapkan satu kelas yang berisi semua properti dari kelas yang terlibat.
Tujuan saya adalah mengisi objek lain dengan beberapa properti yang dihasilkan dari kueri:
CategorizedProducts catProducts = query.Select(m => new { m.ProdId = ???, m.CatId = ???, //other assignments });
bagaimana saya bisa mencapai tujuan ini?