How to sort inner list that is returned by entity framework?

孤人 提交于 2019-11-28 04:21:12

问题


How do I sort the inner collection of an object returned by the entity framework?

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

Is there a way to modify this LINQ query to return the X objects and also have the Y objects sorted? Or do I have to manually sort the Y list when it comes back?

EDIT:

This code must return a collection of X typed objects, anonymous typing doesn't meet the current project's requirements.


回答1:


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)
                 };

Edited: If you don't want anonymous types then do this:

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)
                 };


来源:https://stackoverflow.com/questions/3981417/how-to-sort-inner-list-that-is-returned-by-entity-framework

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!