ef 쿼리 최적화 : 를 포함하는 관련 엔티티를 필터링합니다
이 기사는 엔티티 프레임 워크 (EF) 쿼리 내에서 조항을 사용하여 관련 엔티티를 효율적으로 검색 해야하는 과제를 다룹니다. 목표는 여러 데이터베이스 여행을 피하는 것입니다
시나리오에는 두 개의 엔티티가 포함되며 는 에 대한 수집 내비게이션 속성을 갖습니다. 목표는 운전중인 모든 버스를 깨우는 승객들과 함께 회수하는 것입니다.
일반적인 비효율적 인 접근 방식은 여러 데이터베이스 호출을 초래합니다. 보다 효율적인 솔루션은 쿼리 내에 필터링 된
조항을 사용하여 게으른 로딩을 비활성화하고 명시 적으로로드하는 것과 관련이 있습니다.
이 접근법을 보여주는 예는 다음과 같습니다
이 코드는 먼저 단일 데이터베이스 쿼리에서 버스와 깨어있는 승객을 검색합니다. Where
호출은 결과를 메모리로 구체화하여 EF가 관계를 올바르게 설정할 수 있도록합니다. 마지막으로, 객체 만 선택하고 반환됩니다
중요한 고려 사항 :
이 방법은 EF6에서 효과적이지만 다수의 관계 및 EF 핵심에 대한 조정이 필요할 수 있습니다. EF Core는보다 복잡한 시나리오에 대한 대체 솔루션을 제공 할 수있는 글로벌 쿼리 필터와 같은 기능을 제공합니다. 이러한 고급 기술에 대한 자세한 정보와 다량의 관계를 처리하려면 원래 소스를 참조하십시오. .
위 내용은 EF 쿼리에 WHER 절이있는 관련 엔티티를 효율적으로 포함하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!