2011-10-17 4 views
0

그 안에 linq 쿼리가 포함 된 다음 Xelemnt가 있습니다. 쿼리가 잘 작동하지만 신입 사원 목록에 특정 사람에 대한 (List<recruiters>) 모집자가없는 경우 빈 모병 자 요소를 반환 할 수 있기를 원합니다. 모집단 요소가 xml이 빌드 된 후 특정 사용자에 대해 존재하는지 여부를 확인하지 않고이를 수행하는 쉬운 방법이 있습니까?LinQ to Xml 쿼리 및 빈 요소 표시

XElement Person = 
        new XElement("Person", 
        new XElement("title", ""), 
        new XElement("id",""), 
        new XElement("url", ""), 
        (from Recruiter r in recruiters 
         where r.id == p.id 
         select new XElement("Recruiter", 
         new XElement("recruitername", r.recruitername), 
         new XElement("recruiteremail", r.recruiteremail), 
         new XElement("recruiterphone")))); 

답변

1

Enumerable 클래스의 DefaultIfEmpty 메서드를 살펴볼 수 있습니다. 마법처럼 작동 내가 찾던 정확히 무엇 msdn

XElement defaultRecruiter = new XElement("Recruiter"); 
XElement Person = 
       new XElement("Person", 
       new XElement("title", ""), 
       new XElement("id",""), 
       new XElement("url", ""), 
       (from Recruiter r in recruiters 
        where r.id == p.id 
        select new XElement("Recruiter", 
        new XElement("recruitername", r.recruitername), 
        new XElement("recruiteremail", r.recruiteremail), 
        new XElement("recruiterphone"))).DefaultIfEmpty(defaultRecruiter)); 
+0

감사합니다 – fedor333