Entity Framework Core에서 하위 테이블의 여러 중첩 수준 선택

entity-framework-core

문제

eager loading을 사용하여 Entity Framework Core에서 여러 개의 중첩 된 하위 테이블을 가져 오려고합니다. 나는 게으른 로딩이 아직 구현되지 않았다고 생각한다.

EF6에 대한 을 찾았습니다.

var company = context.Companies
                 .Include(co => co.Employees.Select(emp => emp.Employee_Car))
                 .Include(co => co.Employees.Select(emp => emp.Employee_Country))
                 .FirstOrDefault(co => co.companyID == companyID);

내 문제는 Select 가 EF Core에서 인식되지 않는다는 것입니다.

오류 CS1061 'Employees'에 'Select'에 대한 정의가없고 'Employees'유형의 첫 번째 인수를 수락하는 확장 메서드 'Select'가 없습니다 (using 지시문이나 어셈블리 참조가 누락 되었습니까?)

포함 된 네임 스페이스 :

var company = context.Companies
                 .Include(co => co.Employees.Select(emp => emp.Employee_Car))
                 .Include(co => co.Employees.Select(emp => emp.Employee_Country))
                 .FirstOrDefault(co => co.companyID == companyID);

EF 코어에서 Select 을위한 대안은 무엇입니까?

수락 된 답변

대신 키워드 인 ThenInclude 를 사용할 수 있습니다.

var company = context.Companies
             .Include(co => co.Employees).ThenInclude(emp => emp.Employee_Car)
             .Include(co => co.Employees).ThenInclude(emp => emp.Employee_Country)
             .FirstOrDefault(co => co.companyID == companyID);



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.