2012-11-27 3 views
2

에 중첩 된 XML의 부모 개체를 가져 오기 및 개체로이 XML을 읽을 수 LINQ를 사용내가 데이터베이스에서 XML 데이터를 가져</p> <pre><code>Class Room { String Name {get; set;} String Type {get;set;} List<Employee> Employees {get; set;} } Class Employee { Int64 ID {get;set;} Room Parent {get; set;} } </code></pre> <p>단순화, 두 개의 클래스를 가정 Linq에

List<Room> rooms = new List<Room>(); 
rooms = 
    (
     from r in XDocument.Load(reader).Root.Elements("Room") select new Room { 
      Name = r.Attribute("name").Value, 
      Type = r.Attribute("type").Value, 
      Employees = 
       (
        from e in r.Elements("Employee") select new Employee { 
        ID = (Int64)e.Attribute("hrid"), 
        Parent = ????? 
       } 
      ).ToList() 
     } 
    ).ToList(); 

주목하라 ?????? 거기? 그게 질문입니다. Employee 내에서 부모 Room에 대한 참조를 만들려면 어떻게해야합니까?

답변

0

부모에게는 null을 설정하거나 먼저 무시할 수 있습니다. 목록을 작성한 후에는 회의실을 반복하고 직원 부모를 설정할 수 있습니다.

foreach (var room in rooms) 
{ 
    for (int i = 0; i < room.Employees.Count; i++) 
    { 
     room.Employees[i].Parent = room; 
    } 
} 
관련 문제