2011-01-19 91 views
0

例如,下面的類我可以使用Entity Framework Code First指定子實體默認排序嗎?

public class Child 
{ 
    public Guid Id { get; set; } 
    public String Description { get; set; } 
    public double Value { get; set; } 

    public Child() 
    { 
     Id = Guid.NewGuid(); 
    } 
} 

public class Parent 
{ 
    public Guid Id { get; set; } 
    public String Name { get; set; } 
    public virtual IList<Child> Children { get; set; } 

    public Parent() 
    { 
     Id = Guid.NewGuid(); 
     Children = new List<Child>(); 
    } 
}  

和上下文

public class TempContext : DbContext 
{ 
    public DbSet<Child> Children { get; set; } 
    public DbSet<Parent> Parents { get; set; } 
} 

我怎麼能保證在Parent.Children的對象是按值排序

 TempContext tc = new TempContext();    
     var parents = tc.Parents.ToList(); 

     foreach (var p in parents) 
     { 
      Debug.WriteLine("Parent : {0}", (object) p.Name); 
      foreach (var c in p.Children) 
      { 
       Debug.WriteLine("Child : {0} - {1}", c.Value, c.Description); 
      } 
      Debug.WriteLine(""); 
     } 

很顯然,我可以在迭代集合之前對p.Children進行排序,但我希望集合已經被排序。

回答

4

您必須爲此write a query。訂購不由映射管理。

+0

謝謝。希望這個能力會在某些時候加到EF上。我注意到鏈接的帖子是從2009年開始的。我假設其中一個EF CTP沒有添加這個功能。 – grantnz 2011-01-20 01:23:13

相關問題