我有一个包含超过一百万条记录的表。每条记录包含大约 60 个字段,但我们只更改其中的三个。
我们根据计算和查找对每个实体进行小修改。
显然,我不能依次更新每个实体,SaveChanges
因为那样会花费太长时间。
因此,在整个过程结束时,我调用SaveChanges
了Context
.
当我申请时,这会导致内存不足错误SaveChanges
我正在使用 DataRepository 模式。
//Update code
DataRepository<ExportOrderSKUData> repoExportOrders = new DataRepository<ExportOrderSKUData>();
foreach (ExportOrderSKUData grpDCItem in repoExportOrders.all())
{
..make changes to enity..
}
repoExportOrders.SaveChanges();
//Data repository snip
public DataRepository()
{
_context = new tomEntities();
_objectSet = _context.CreateObjectSet<T>();
}
public List<T> All()
{
return _objectSet.ToList<T>();
}
public void SaveChanges()
{
_context.SaveChanges();
}
在这种情况下我应该寻找什么?