我有一个名为Material的表,它包含近450000条记录。
我想使用实体框架检索所有这些记录,但它是
花更多时间选择所有记录。有时几分钟后
我得到了Out of memory exception
。
有人可以帮我一次检索100000条记录, 处理它们,然后使用Entity framework从数据库中检索下一条记录。
答案 0 :(得分:1)
我想你的意思是你希望在通过EF检索数据时有一个分页机制。我会使用repository来控制整个数据访问,并提供更通用的分页机制。通过“分页”,我们的意思是将在包含特定数量结果的页面中组织返回结果。
最后,您可以使用具有Skip
和Take
子句的查询。例如:
IQueryable query = ... //form the actual query which is not executed yet
IQueryable pagedQuery = query.Skip(pagesToSkip*recordsPerPage).Take(recordsPerPage); //This is the paged query returning the results of one page
希望我帮忙!