2012-04-05 5 views
4

데이터베이스에 두 개의 테이블이 있습니다. 하나는 프로젝트 구성원이고 다른 하나는 프로젝트에 대한 것입니다. 사용자를 인증 한 후 ID가 있습니다. 내 프로젝트 회원 테이블에 프로젝트 ID와 사용자 ID가 있습니다. 나는 지금LINQ에서 목록을 쿼리하는 방법

var pm = db.ProjectMembers.Where(c=> c.UserID=u.UserID) ; 

를 사용하여이 사용자에 대한 프로젝트 멤버의 목록을 얻을 수 있습니다 내 질문에 내가 위의 목록에서 ProjectID의 목록을 얻을 수있는 방법이다. 그런 다음 ProjectID 목록을 사용하여 Project 테이블에서 프로젝트 목록을 얻는 방법은 무엇입니까?

답변

2

질문의 첫 번째 부분 :

var projectIDs = db.ProjectMembers.Where(c=> c.UserID=u.UserID).select(pm=>pm.ProjectID) ; 

2 부 :

당신이 엔티티 프레임 워크를 사용하는 경우, 당신은 당신의 ProjectMembers의 모든 엔티티 (프로젝트)라는 속성을 볼 수 목록에서이 답변의 첫 부분을 무시하고 직접이 답변으로 이동하십시오.

var projectsList = db.ProjectMembers.Where(c=> c.UserID=u.UserID).select(pm=>pm.Project) ; 

속성의 이름이 다를 수 있습니다. 시도해보고 발생한 일을 알려주세요.

참고 : 검색된 프로젝트가 null 인 경우 엔티티 프레임 워크가 Eager 로딩 중 (Google it) 작업 중입니다. 그래서 Entity 프레임 워크에서 적절한 SQL 구문을 생성하여 프로젝트 데이터를 검색하려면 다음과 같이 쿼리에 Include()를 추가하십시오.

관련 문제