LINQ Lambda 표현식을 사용하여 다중 테이블 조인 수행
LINQ에서는 람다 식을 사용하여 여러 테이블을 조인할 수 있습니다. 세 가지 클래스가 있다고 가정해 보겠습니다.
<code>Product { Id, ProdName, ProdQty } Category { Id, CatName } ProductCategory { ProdId, CatId }</code>
람다 표현식을 사용한 연결
이러한 테이블은 다음 코드를 사용하여 조인할 수 있습니다.
<code>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>
이렇게 하면 다음 클래스의 개체가 생성됩니다.
<code>QueryClass { productproductcategory, category }</code>
새 개체 채우기
연결 결과 속성으로 새 개체를 채우려면 다음 Select 메서드를 사용할 수 있습니다.
<code>var categorizedProducts = query.Select(m => new { ProdId = ???, CatId = ???, // 其他赋值 });</code>
속성 값 가져오기
할당할 특정 속성은 다음과 같이 연결된 개체에서 얻을 수 있습니다.
<code>ProdId = m.ppc.p.Id, // 或 m.ppc.pc.ProdId CatId = m.c.CatId // 其他赋值</code>
쿼리 구문 대안
또는 보다 간결한 접근 방식을 제공하는 쿼리 구문을 사용할 수 있습니다.
<code>var categorizedProducts = from p in product join pc in productcategory on p.Id equals pc.ProdId join c in category on pc.CatId equals c.Id select new { ProdId = p.Id, // 或 pc.ProdId CatId = c.CatId // 其他赋值 };</code>
이 쿼리의 결과는 람다 표현식 방법과 동일합니다. 가독성이 더 중요하다면 쿼리 구문을 사용하는 것이 좋습니다.
위 내용은 LINQ 람다 표현식을 사용하여 여러 테이블 조인을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!