2

두 개의 개체가 있습니다 : GrmDeploymentAttemptGrmDeploymentStep입니다. 이 엔티티는 실제 다 대다 관계에 대한 추가 정보가있는 중간 POCO GrmDeploymentAttemptStep을 통해 다 대 다 관계를 맺습니다. 그래서 지금 내가 열망로드를 통해 모든 단계의 정보와 시도를로드하려고표현식을 사용하여 EF4의 Many to Many를 열렬하게로드합니까?

, 나는 다음과 같은 코드가 있습니다

 var attempt = _context.GrmDeploymentAttempts 
           .Where(x => x.Id == attemptId) 
           .Include(x => x.AttemptSteps) 
           .FirstOrDefault(); 

문제는이 열망로드 중간 테이블이지만, 열망하지 않습니다 단계 테이블을로드하십시오. 표현식과 함께 Include()을 사용하면 내 Step 엔티티를 열정적으로로드 할 수 있습니까? Include(string) 메서드를 사용하면 Include("AttemptSteps.Steps")을 수행 할 수 있지만 표현식을 사용하여이 작업을 수행하는 방법을 잘 모르겠습니다.

참고로 나는 대신 AttemptSteps 엔티티와 열망 부하를로드 할 수 있지만이 작업을 수행 할 수없는 상황이 있으며이를 처리하는 방법이 궁금합니다.

답변

2
var attempt = _context.GrmDeploymentAttempts 
    .Where(x => x.Id == attemptId) 
    .Include(x => x.AttemptSteps.Select(a => a.Step)) 
    .FirstOrDefault(); 

Include(...Select(...))은 일반적으로 하위 컬렉션의 탐색 속성을로드합니다.