想象一下,你已經有了一些看起來像這樣的Entity Framework實體(顯然不是這些特定的類,而是自動生成的所有實體框架管道的實體;這些只是爲了說明):使用LINQ-to-Entities選擇父項時排序子對象
public class Parent
{
public int ID { get; set; }
public List<Child> Children { get; set; }
}
public class Child
{
public int ID { get; set; }
public Parent Parent { get; set; }
public int Number { get; set; }
}
我有一個LINQ查詢,看起來像這樣:
from parent in context.Parents.Include("Child")
select parent
然而,這將返回那裏的小朋友都在ID爲了父母的列表。我希望孩子們可以在其父母的數字屬性中進行排序。 這怎麼辦?
編輯:澄清:這個想法是讓查詢隱藏在方法調用(在圖層外觀)後面,該方法調用簡單地返回IList<Parent>
。這使得像匿名類查詢和手動排序這樣的解決方案變得痛苦(與一些萬能解決方案相比,您可以在查詢中完成它)。
另外,您無法在無序中讀取它們,將它們從EntityCollection中取出,手動對它們進行排序,然後將它們放回到它們的EntityCollection中(當然假設NoTracking處於打開狀態)。當你迭代EntityCollection時,它們無論如何都會出錯。 :( – 2009-12-11 13:09:55
對,因爲'EntityCollection's *無序。* – 2009-12-11 13:30:07