2010-02-06 1 views
2

나는이 Linq에에서 다음 쿼리 :탐색 속성에로드 된 항목의 납입을 제한

var query = from question in context.Questions.Include("QAnswers") 
      join answer in context.Answers 
       on question.id equals answer.qst 
      where answer.user == param_userID 
      select question;  
return query.toList(); 

문제는 전혀은 "QAnswers"탐색 속성을로드하지 않습니다. 엔티티 프레임 워크에서 네비게이션 속성에 엔터티와 제한된 결과 집합을 반환하는 방법이 있습니까?

ps. 내가 제대로 이해하는 경우가

답변

0

중요 만약 내가 EF4을 사용하고,이 충분해야한다 :

context.Questions.Include("QAnswers").Where(q => q.QAnswers.Any(a => a.user == param_userID)); 

이 특정 사용자가 대답 질문입니다. 조인 할 필요가 없습니다.

편집

context.Questions.Where(q => q.QAnswers.Any(a => a.user == param_userID)).Select(q => new { Question = q, Answers = q.QAnswers.Where(a => a.user == param_userID) }).ToList(); 

이 질문 특정 사용자의 응답을 반환합니다.

+0

아니요. 메서드는 조건과 일치하는 질문을 반환하지만 각 질문을 반환합니다 .QAnswers 속성에는 특정 질문과 관련된 사용 가능한 모든 대답이 포함됩니다. 요점은 nav 속성에서 "question.QAnswers"만 회의 조건에 응답하는 것입니다. a.user == param_userID – palcan