2014-07-15 74 views
1

假设我有一个这样的类:LINQ的OrderBy与多层

public class TestParent 
{ 
    public string ParentID { get; set; } 
    public List<TestGroup> GroupItems { get; set; } 
} 

public class TestGroup 
{ 
    public string GroupID { get; set; } 
} 

我如何排序PARENTID和类型TestParent的对象都在它的群ID的TestGroups?

我可以用这个代码做到这一点:

for (int i = 0; i < ResponseArray.Count; i++) 
{ 
    ResponseArray[i].GroupItems = ResponseArray[i].GroupItems 
                .OrderBy(x => x.GroupID) 
                .ToList(); 
} 
return ResponseArray.OrderBy(x => x.GroupID).ToList(); 

有可能只使用LINQ到archieve一样吗?

回答

0

您可以在排序依据后使用Select和秩序里面的GroupItems:

ResponseArray.OrderBy(t => t.ParentID).Select(t => new TestParent() 
    { 
     ParentID = t.ParentID, 
     GroupItems = t.GroupItems.OrderBy(g => g.GroupID).ToList() 
    })