1

我有像下面这样的课,

public class SiteActionMap
{
        public int Id { get; set; }
        public string ImageName { get; set; }
        public int ParentId { get; set; }
        public string Name { get; set; }

        public  virtual ICollection<SiteActionMap> Childrens { get; set; }
        public  virtual SiteActionMap Parent { get; set; }
        public bool Active { get; set; }

}

我想得到一个按儿童计数排序的列表。

我正在尝试这样的事情,但我没有工作。

List<SiteActionMap> list = dbContext.SiteActionMap
                .Include(m => m.Childrens)
                .Include(m => m.Parent)
                .OrderBy(i => i.Childrens.Count)
                ToList();

我怎样才能用儿童计数对我的列表进行排序?

4

2 回答 2

4

补充一下 lbruder 所说的,在这种情况下 Count 不是一个方法 () 吗?

List<SiteActionMap> list = dbContext.SiteActionMap
                .Include(m => m.Childrens)
                .Include(m => m.Parent)
                .OrderByDescending(i => i.Childrens.Count())
                .ToList();
于 2012-05-02T19:11:47.813 回答
2

你试过这个吗?只需删除 Order... 行后的分号并继续执行命令:

List<SiteActionMap> list = dbContext.SiteActionMap
                .Include(m => m.Childrens)
                .Include(m => m.Parent)
                .OrderByDescending(i => i.Childrens.Count)
                .ToList();
于 2012-05-02T19:09:00.530 回答