我希望从我的 aspx 代码中的class
中获取上下文中的数据,如下所示:
MyClass.GetIt().Skip((page - 1) * perPage).Take(perPage);
但我不知道在我的分页中我应该使用哪种方法而不是所有内存都放在内存中?
1
public static IQueryable<T> GetIt()
{
return context.MyObject.Where(i=>i.Type==1);
}
2
public static IEnumerable<T> GetIt()
{
return context.MyObject.Where(i=>i.Type==1);
}
答案 0 :(得分:2)
第一个 - IQueryable<T>
。
返回IEnumerable
会导致将DB中的所有匹配元素带入内存,并将Skip
和Take
作为LINQ来执行对象查询。