在 foreach 中访问存储库

Access repository in foreach

我想知道什么是性能最好的。访问在每次 foreach 迭代中实例化的存储库,或者获取列表中的所有数据并在之后进行管理。在服务层我参考。

此外,在每次循环迭代中访问存储库是否是一种不好的做法?

例如:

foreach(Task task in tasks)
{
  var data = taskRepo.GetSomeData(task);
  task.ThingsResult = otherRepo.DoThings(data);
}
  1. 获取所有数据并在检索到数据后对其进行处理,如果您完全确定您将需要所有数据
  2. 如果您每次都访问分页数据或不是所有数据,则在每次迭代中获取数据。如果您再次获取相同的数据,这是对时间和资源的浪费,会对性能产生负面影响。如果是这种情况,请转到第一种情况...