Asp.net mvc 选择一定数量的记录进行批处理
Hi是否可以使用实体框架和/或linq选择一定数量的行?例如,我想选择行0-500000并将这些记录分配给List VariableList对象,然后选择行500001-1000000并将其分配给List VariableList对象,等等Asp.net mvc 选择一定数量的记录进行批处理,asp.net-mvc,c#-4.0,entity-framework-4,Asp.net Mvc,C# 4.0,Entity Framework 4,Hi是否可以使用实体框架和/或linq选择一定数量的行?例如,我想选择行0-500000并将这些记录分配给List VariableList对象,然后选择行500001-1000000并将其分配给List VariableList对象,等等 其中Numbers对象类似于ID、Number、DateCreated、DateAssigned等。听起来像是在寻找.Take(int)和.Skip(int)方法 using (YourEntities db = new YourEntities()) {
其中Numbers对象类似于ID、Number、DateCreated、DateAssigned等。听起来像是在寻找
.Take(int)
和.Skip(int)
方法
using (YourEntities db = new YourEntities())
{
var VariableAList = db.Numbers
.Take(500000);
var VariableBList = db.Numbers
.Skip(500000)
.Take(500000);
}
您可能需要注意内存中这些列表的大小
注意:在使用
.Skip
或或之前,您可能还需要一个.OrderBy
子句。Take
——我模糊地记得以前遇到过这个问题。干杯,这正是我想要的,我一直在玩弄Take,但没有想到将其与Skip结合起来!你知道什么是好的大小(就内存而言)吗?这有点主观,取决于你的硬件等。但是,尽可能使用IQueryable
,会有所帮助,这取决于你如何使用这些记录。运行您自己的基准测试可能会让您了解环境中500000条记录是否代表了一次重大的内存损失