2010-06-10 4 views
1

내 linq dbml에 2 개의 테이블이 있습니다. 하나는 peopleid라고하는 고유 ID를 가진 사람들이고 다른 하나는 peopleid에 대한 외래 키와 ID라는 고유 ID가있는 세로입니다. 사람에 대한 왼쪽 외부 조인을 수행하고 max (id) 열을 기반으로 세로 테이블에서 최신 레코드를 가져 오는 일종의 linq 쿼리를 만들어야합니다. 누구든지 이것이 어떻게 생겼는지 제안 할 수 있습니까? 감사.join 및 max를 사용하여 linq 쿼리를 만드는 방법

+0

그것이 LINQ 쿼리처럼 보일 것입니다! – Luiscencio

답변

0

그것은이 (단지 제안)과 같아야합니다

from p in con.Peoples 
orderby p.LastName , p.FirstName 
let maxPrint = p.FingerPrints 
    .OrderByDescending(fp => fp.Id) 
    .FirstOrDefault() 
where maxPrint != null 
select new { 
    p.PeopleID, 
    Name = p.FirstName + " " + p.LastName, 
    FingerPrint = maxPrint 
}; 
+0

나는 전에 let을 사용하지 않았고 Google은 linq에서 SQL을 많이 사용하는 것처럼 보이지 않으므로 정확히 어떤 코드가 표시되어야하는지 잘 모르겠습니다. 아래는 내가 지금 가지고있는 것입니다. 내가 뭘 잘못하고 있는거야? 감사합니다 var recs = con에서 p부터 Pejples는 cj에 con.Jobs에 p.PeopleID는 cj.PeopleID와 같습니다 .P.PeopleID와 동일합니다 .PeopleID는 f.PeopleId와 같습니다. .id) .Max orderby p.LastName, p.FirstName 새로운 {p.PeopleID, p.FirstName + ""+ p.LastName}을 선택하십시오. –

+0

위대한, 고마워! 나는 그것을 시도 할 것이다. –