如何在EF中对子对象中的数据进行分页?

时间:2012-10-23 12:07:58

标签: c# .net entity-framework c#-4.0 entity-framework-4

我有一个问题。

我想分页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; }
}

ClassA | ClassB | ClassC
Data1 | InnerData | InnerInnerData1
| | InnerInnerData2
| | InnerInnerData3
| | InnerInnerData4
| | InnerInnerData5(Paginate here)

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以在B类GetPageRange()

中添加方法
    public ICollection<ClassC> GetPageRange(int startingPage, int pagesPerPage)
    {
        return (from c in ClassCCollection
                select c).Skip(startingPage).Take(pagesPerPage).ToList();
    }

答案 1 :(得分:0)

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

IEnumerable<string>

所有人! :)