尝试运行此代码时,我不断收到“集合已修改”错误
var mat = db.Materials
.Where(m => m.ID == material)
.First();
var oldCourses = mat.Courses;
foreach (var oldCourse in mat.Courses)
{
oldCourses.Remove(oldCourse);
}
mat.Courses = oldCourses;
我不知道该怎么做。我确定这是一个常见问题,但我似乎找不到任何解决方案。
任何帮助,甚至是已回答问题的链接都将不胜感激。
最佳答案
您可以使用 .ToList()
简单地枚举此集合以用作迭代器。
foreach (var oldCourse in mat.Courses.ToList())
{
oldCourses.Remove(oldCourse);
}
关于c# - 使用 foreach() 从集合中删除多个实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17055323/