엔티티 프레임 워크를 사용하여 자식 객체 목록을 선택할 때 관련 상위 오브젝트에 대한 참조를 얻는 방법

StackOverflow https://stackoverflow.com/questions/1438265

  •  08-07-2019
  •  | 
  •  

문제

EF 사용 하위 물체 목록에 액세스 할 때 부모 속성의 값에 액세스하려면 어떻게합니까?

즉, 프로젝트 객체와 시간 시트 객체가 있습니다

프로젝트
ID
이름
...

시간 시트
프로젝트
userID
날짜
Timespent
...

프로젝트와 관련 시간 시트를 되 찾는 방법을 이해하지만 주어진 사용자에 대한 모든 타임 시트를 되 찾으려면 어떻게해야합니까?

예를 들어 프로젝트 이름, 날짜, 타임 스펜트

해당 결과 세트를 형성 할 새 엔티티를 작성하는 것이 가장 좋습니다.

LINQ에서 SQL을 사용하거나 ado.net/sps 등을 곧바로 사용하는 것은 매우 쉽지만 EF에서 나를 죽입니다.

어떤 아이디어?

도움이 되었습니까?

해결책

아이들은 항상 부모와 관계가 있습니다. 귀하의 경우, 아마도 "timesheet.project"와 같은 것을 불렀을 것입니다. 따라서 다음과 같은 쿼리를 쓸 수 있습니다.

var q = from u in Context.Users
        where u.UserId == userId
        from ts in u.TimeSheets
        select new 
        {
            ProjectName = ts.Project.Name,
            Date = ts.Date,
            TimeSpent = ts.TimeSpent
        };
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top