LINQ 다중 필드 연결: 여러 엔터티를 효율적으로 연결
LINQ에서는 여러 엔터티를 연결하는 데 일반적으로 join
키워드를 사용합니다. 단일 필드 조인이 더 일반적이지만 다중 필드 조인은 간단한 구문 조정을 통해 쉽게 구현할 수 있습니다.
다중 필드 조인 구문
단일 LINQ 쿼리에서 여러 필드를 조인하는 구문은 다음과 같습니다.
<code class="language-csharp">from x in entity join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 }</code>
new
키워드는 조인에 사용되는 두 엔터티의 필드를 결합하는 익명 유형을 만듭니다. 등호 왼쪽의 익명 유형은 첫 번째 엔터티의 연결 조건을 나타내고 오른쪽은 두 번째 엔터티의 연결 조건을 나타냅니다.
예
예는 다음과 같습니다.
<code class="language-csharp">var result = from x in entity join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 }</code>
이 쿼리는 field1
및 field2
필드를 기반으로 entity
및 entity2
를 결합하여 두 엔터티의 지정된 필드와 일치하는 레코드가 포함된 결합된 시퀀스를 반환합니다.
기타 참고사항
연결 필드의 데이터 유형은 호환되어야 한다는 점에 유의해야 합니다. 또한 join
키워드는 내부 조인을 수행합니다. 즉, 필드 값이 일치하는 레코드만 반환됩니다.
왼쪽 외부 조인을 수행해야 하는 경우 GroupJoin
연산자를 사용할 수 있습니다. 예:
<code class="language-csharp">var result = from x in entity join y in entity2 on new { x.field1, x.field2 } equals new { y.field1, y.field2 } into yGroup from y in yGroup.DefaultIfEmpty()</code>
이 쿼리는 왼쪽 외부 조인을 수행하여 entity
테이블에 일치하는 레코드가 없더라도 entity2
테이블의 모든 레코드가 반환되도록 합니다.
위 내용은 단일 LINQ 쿼리에서 다중 필드 조인을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!