> 백엔드 개발 > C++ > 다중 테이블 조인을 효율적으로 수행하기 위해 LINQ 람다 식을 어떻게 사용할 수 있습니까?

다중 테이블 조인을 효율적으로 수행하기 위해 LINQ 람다 식을 어떻게 사용할 수 있습니까?

Patricia Arquette
풀어 주다: 2025-01-10 11:29:43
원래의
685명이 탐색했습니다.

How Can LINQ Lambda Expressions Be Used to Efficiently Perform Multi-Table Joins?

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>
로그인 후 복사

이 코드는 해당 ProductProductCategory 열을 기준으로 Category, IdCatId을 조인합니다. 그러나 결과는 중첩된 개체입니다.

모든 관련 속성을 포함하는 단일 개체인 보다 간소화된 결과를 만들려면 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 람다 식을 JoinSelect과 결합하는 이 접근 방식은 다중 테이블 조인을 위한 효율적인 방법을 제공하여 필요한 모든 데이터를 포함하고 쉽게 관리할 수 있는 단일 개체를 생성합니다.

위 내용은 다중 테이블 조인을 효율적으로 수행하기 위해 LINQ 람다 식을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿