NiK*_*NiK 5 entity-framework range objectset
我正在尝试EF 4.0.我有一个Employee对象并使用EF我只是通过调用获取Employee ObjectSet
Context.Employees
现在上面的调用将在sql查询后吐出
select * from Employees
上面的查询工作正常,我没有任何抱怨,但是你知道如果你在表中有数百万条记录就不会有足够的性能,它肯定会影响性能.
那么我试图想出一种方法来给我的ObjectSet一个范围,我可以说一些东西,比如从Employee ObjectSet中获取30到60个记录.
有没有办法做这样的事情.
任何建议都将深表感谢.
更新: 我正在尝试这样做,以便根据页面索引返回20个Employees(页面大小).
提前致谢.NIK ...
好吧,我终于找到了一种我认为相当不错的方法。这就是我所做的。
我使用 IQueryable 中的 Skip 和 Take 方法根据页面索引跳过并获取对象。
所以我使用了以下代码:
var empList = context.Employees.OrderBy("it.CreatedDate").Skip(pageIndex * 20 - 20).Take(20);
Run Code Online (Sandbox Code Playgroud)
这是一种方法。
如果有人觉得这不是一个好的解决方案,非常欢迎您想出其他我可以替换的东西。
更新的代码 根据 Yury Tarabanko 的建议,我更改了代码,如下所示:
var empList = context.Employees.OrderBy(x=>x.CreatedDate).Skip(pageIndex * 20 - 20).Take(20);
Run Code Online (Sandbox Code Playgroud)
感谢那些花时间阅读我的问题的人。
Thnq,尼克...
| 归档时间: |
|
| 查看次数: |
1509 次 |
| 最近记录: |