Как выполнить объединение нескольких таблиц в LINQ lambda

Я пытаюсь выполнитьОбъединить несколько таблиц в 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}

Где producproductcategory имеет тип:

ProductProductCategoryClass {product, productcategory}

Я не понимаю, где находится объединенный «стол», я ожидалодин класс который содержит все свойства участвующих классов.

Моя цель - заполнить другой объект некоторыми свойствами, полученными в результате запроса:

CategorizedProducts catProducts = query.Select(m => new { m.ProdId = ???, m.CatId = ???, //other assignments });

как я могу достичь этой цели?

Ответы на вопрос(5)

Ваш ответ на вопрос