3

我想从class我的aspx代码后面的上下文中获取数据,如下所示:

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);
} 
4

1 回答 1

2

第一个—— IQueryable<T>

返回IEnumerable将导致将所有匹配元素从 DB 带入内存,并将执行SkipTake作为 LINQ 到对象查询。

于 2013-09-22T07:32:17.710 回答