gpt4 book ai didi

entity-framework - 通过在 EF 中指定范围从 ObjectSet 获取对象

转载 作者:行者123 更新时间:2023-12-03 07:28:57 25 4
gpt4 key购买 nike

我正在尝试 EF 4.0。我有一个 Employee 对象,并且使用 EF 我只需调用即可获取 Employee ObjectSet

Context.Employees

现在上面的调用将吐出以下 sql 查询从员工中选择*

上面的查询工作正常,我对此没有任何提示,但是正如您所知,如果表中有几百万条记录,这将不够高效,并且肯定会影响性能。

因此,我试图找出一种方法来为我的对象集提供一个范围,在其中我可以说类似从 Employee 对象集中获取第 30 到 60 条记录之类的内容。

有没有办法做这样的事情。

如有任何建议,我们将不胜感激。

更新:我试图这样做是为了根据页面索引返回 20 个员工(页面大小)。

提前致谢。尼克...

最佳答案

好吧,我终于找到了一种我认为相当不错的方法。这就是我所做的。

我使用 IQueryable 中的 Skip 和 Take 方法根据页面索引跳过并获取对象。

所以我使用了以下代码:

var empList = context.Employees.OrderBy("it.CreatedDate").Skip(pageIndex * 20 - 20).Take(20);

这是一种方法。

如果有人觉得这不是一个好的解决方案,非常欢迎您提出其他我可以替换的解决方案。

更新代码根据 Yury Tarabanko 的建议,我将代码更改如下:

var empList = context.Employees.OrderBy(x=>x.CreatedDate).Skip(pageIndex * 20 - 20).Take(20);

感谢那些花时间阅读我的问题的人。

Thnq,尼克...

关于entity-framework - 通过在 EF 中指定范围从 ObjectSet 获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3332176/

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