2011-01-19 92 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

相关问题