LINQ 람다 표현식을 사용한 다중 테이블 조인 마스터하기
LINQ(언어 통합 쿼리)는 데이터베이스와 상호 작용하는 강력하고 효율적인 방법을 제공합니다. 데이터 검색에서 자주 수행되는 작업에는 여러 테이블을 조인하는 작업이 포함됩니다. 이 가이드에서는 LINQ 람다 식을 사용하여 이러한 조인을 효과적으로 수행하는 방법을 보여줍니다.
데이터베이스 테이블을 나타내는 세 가지 예제 클래스를 고려해 보겠습니다.
Id
, ProdName
, ProdQty
Id
, CatName
ProdId
, CatId
LINQ의 Join
메서드를 사용하면 이러한 테이블을 쉽게 조인할 수 있습니다. 예는 다음과 같습니다.
<code class="language-csharp">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 });</code>
이 코드는 해당 Product
및 ProductCategory
열을 기준으로 Category
, Id
및 CatId
을 조인합니다. 그러나 결과는 중첩된 개체입니다.
모든 관련 속성을 포함하는 단일 개체인 보다 간소화된 결과를 만들려면 Select
메서드를 사용하세요.
<code class="language-csharp">var categorizedProducts = query.Select(m => new { m.ProdId = ???, m.CatId = ???, //other assignments });</code>
조인된 테이블의 속성을 이 새 개체에 올바르게 할당하는 방법은 다음과 같습니다.
<code class="language-csharp">var categorizedProducts = query.Select(m => new { ProdId = m.productproductcategory.product.Id, // or m.productproductcategory.productcategory.ProdId CatId = m.category.Id, // other property assignments from m.productproductcategory.product, m.productproductcategory.productcategory, and m.category });</code>
LINQ 람다 식을 Join
및 Select
과 결합하는 이 접근 방식은 다중 테이블 조인을 위한 효율적인 방법을 제공하여 필요한 모든 데이터를 포함하고 쉽게 관리할 수 있는 단일 개체를 생성합니다.
위 내용은 다중 테이블 조인을 효율적으로 수행하기 위해 LINQ 람다 식을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!