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 に答える