2015-06-30 41 views
1

我有'Executive'對象具有X個'ExecutiveSectionMapping'子對象,具體取決於Executive有多少個部分。LINQ:排序子對象參數

問題是,在查看這些執行人員時,映射順序是隨機的。我需要訂購孩子的參數,而不必訂購高管自己。 想這無濟於事:

return _context.Executives 
      .OrderBy(x => x.ExecutiveSectionMappings.OrderBy(y=>y.ExecutiveSectionId)) 
      .ToList(); 

想這太:

return _context.Executives 
      .OrderBy(x => x.ExecutiveSectionMappings.Select((y => y.ExecutiveSectionId))) 
      .ToList(); 

這:

 return _context.Executives 
      .Include(x=>x.ExecutiveSectionMappings.OrderBy(y=>y.ExecutiveSectionId)) 
      .ToList(); 

不知道如何進行...任何想法?

+0

這個結果有點不清楚,你能舉個例子嗎?你想訪問高管或ExecutiveSectionMappings? – Codor

+1

當你在這裏歸還它們時,讓它們順序並不合理。一旦它返回,你在做什麼?這是它應該訂購的地方。 – DLeh

回答

1

看來這不能在你的上下文中完成,但它可以在內存中完成。

List<Executives> executives = _context.Executives.ToList(); 

executives.ForEach(e => 
    e.ExecutiveSectionMappings = e.ExecutiveSectionMappings.OrderBy(y=>y.ExecutiveSectionId) 
    .ToList()) 
+0

這取決於; 「ExecutiveSectionMappings」的類型是什麼? – Codor

+0

謝謝馬克。剛剛從別處的其他帖子看出這一點,但你的答案也是正確的,所以你得到了讚賞:) –