我可以使用Entity Framework Code First指定子实体默认排序吗?
问题描述:
例如,下面的类我可以使用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进行排序,但我希望集合已经被排序。
谢谢。希望这个能力会在某些时候加到EF上。我注意到链接的帖子是从2009年开始的。我假设其中一个EF CTP没有添加这个功能。 – grantnz 2011-01-20 01:23:13