【问题标题】:Can I specify child entity default ordering with Entity Framework Code First?我可以使用 Entity Framework Code First 指定子实体默认排序吗?
【发布时间】:2011-01-19 22:49:06
【问题描述】:

例如,使用以下类

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 进行排序,但我希望集合已经被排序。

【问题讨论】:

    标签: c# entity-framework ef-code-first


    【解决方案1】:

    为此,您必须write a query。排序不是通过映射管理的。

    【讨论】:

    • 谢谢。希望此功能会在某个时候添加到 EF 中。我确实注意到链接的帖子是 2009 年的。我认为其中一个 EF CTP 没有添加此功能。
    猜你喜欢
    • 1970-01-01
    • 2013-11-02
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 2013-12-06
    相关资源
    最近更新 更多