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 });
이 목표를 어떻게 달성 할 수 있습니까?