我知道这个问题在这里有很多问题,但我无法根据我的特定循环收集正确答案。
我正在使用foreach循环来循环遍历业务实体,如下所示:
foreach (Content item in category)
{
item.Stats = 55;
item.Commit();
}
对于它检索的第一个项目,foreach循环正确运行并放置值,但是对其他几个项目感到害羞,我在页面标题中出现错误。我知道我收到了错误,因为在迭代期间无法修改该项。但是我在这个循环中对于如何提交数据库感到很遗憾。
提前致谢。
答案 0 :(得分:1)
您可以使用项目的克隆创建相同的集合,而不是修改迭代集合中的项目,修改并提交克隆集合中的相应项目。然后在完成后丢弃迭代的集合,将克隆的集合视为新的“原件”。
答案 1 :(得分:0)
最简单的解决方案是添加ToList(),这会导致枚举原始枚举的副本。
foreach (Content item in category.ToList())
{
item.Stats = 55;
item.Commit();
}