代码之家  ›  专栏  ›  技术社区  ›  Jerod Houghtelling

如何对实体框架返回的内部列表进行排序?

  •  5
  • Jerod Houghtelling  · 技术社区  · 15 年前

    public class X
    {
       public string Field {get; set;}
       public EntityCollection<Y> Ys {get; set;}
    }
    
    public class Y
    {
       public string Field {get; set;}
    }
    
    from x in entities.Xs
    orderby x.Field
    select x
    

    有没有办法修改这个LINQ查询来返回X对象并对Y对象进行排序?或者当Y列表返回时,我必须手动对其排序吗?

    编辑:

    此代码必须返回X类型对象的集合,匿名类型不符合当前项目的要求。

    1 回复  |  直到 15 年前
        1
  •  4
  •   John Hartsock    15 年前
    var sortedList = from x in entities.Xs
                     orderby x.Field
                     select new {
                       Field = x.Field,
                       y = (select y in x.Ys
                            orderby y.Field
                            select y)
                     };
    

    编辑: 如果不需要匿名类型,请执行以下操作:

    var sortedList = from x in entities.Xs
                     orderby x.Field
                     select new X {
                       Field = x.Field,
                       y = (select y in x.Ys
                            orderby y.Field
                            select y)
                     };
    
    推荐文章