1

我有个问题。

我想分页ClassA

ClassA有一个类型的元素列表ClassB,并且ClassB有一个类型的元素列表ClassC

如何按元素数对数据进行分页ClassC

public class ClassA
{
    public ICollection<ClassB> ClassBCollection { get; set; }
}

public class ClassB
{
    public ICollection<ClassA> ClassACollection { get; set; }

    public ICollection<ClassC> ClassCCollection { get; set; }
}

public class ClassC
{
    public ICollection<ClassB> ClassBCollection { get; set; }
}

甲级  | B类   | C 类数据
1 | 内部数据 | 内内数据1
          | | 内内数据2
          | | 内内数据3
          | | 内内数据4
          | | InnerInnerData5(在此处分页)

提前致谢。

4

2 回答 2

0

您可以在 B 类 GetPageRange() 中添加一个方法

    public ICollection<ClassC> GetPageRange(int startingPage, int pagesPerPage)
    {
        return (from c in ClassCCollection
                select c).Skip(startingPage).Take(pagesPerPage).ToList();
    }
于 2012-10-23T12:37:19.807 回答
0

我可以用 System.Linq.Queryable 解决这样的解决方案:

var result =  from A in DataContext<A>()
              .Include(x => x.B)
              .Include(x => x.B.C)
              .Orderby(x => x.C)
              .ThenBy(x => x.B)
              .ThenBy(x => x.A)
              .Skip(pageNumber * pageSize)
              .Take(pageSize);

这就是所有的人!:)

于 2016-11-16T16:02:13.387 回答