엔티티 프레임 워크를 사용하여 자식 객체 목록을 선택할 때 관련 상위 오브젝트에 대한 참조를 얻는 방법
-
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
};
제휴하지 않습니다 StackOverflow