gpt4 book ai didi

c# - 我应该使用 IQueryable 或 IEnumerable 中的哪一个来不将行放入内存?

转载 作者:行者123 更新时间:2023-11-30 17:03:08 24 4
gpt4 key购买 nike

我想从我的 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);
}

最佳答案

第一个 - IQueryable<T> .

返回 IEnumerable会导致将所有匹配元素从数据库中取出并执行 SkipTake作为 LINQ to 对象查询。

关于c# - 我应该使用 IQueryable 或 IEnumerable 中的哪一个来不将行放入内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18941434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com