C# 正在尝试添加到数据库:集合已修改;枚举操作可能无法执行?

C# 正在尝试添加到数据库:集合已修改;枚举操作可能无法执行?,c#,C#,下面是我的控制器,我通过href按钮呼叫该控制器并传递id。href按钮是一个重复按钮,用于创建所选模块的副本,并将其添加到数据库中,然后返回 public ActionResult dupe(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } MODULE Modu

下面是我的控制器,我通过href按钮呼叫该控制器并传递id。href按钮是一个重复按钮,用于创建所选模块的副本,并将其添加到数据库中,然后返回

   public ActionResult dupe(int? id)
    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        MODULE Modules = db.MODULE.Find(id);
        if (Modules == null)
        {
            return HttpNotFound();
        }

         else
        {
            MODULE newMOd = new MODULE();

            newMOd.APPLY__FINISH = Modules.APPLY__FINISH;

            newMOd.CREATED_BY = Modules.CREATED_BY;   

            newMOd.CREATED_DATE = Modules.CREATED_DATE;

            newMOd.MODULE_DESC = "Duplicate-"+Modules.MODULE_DESC;

            newMOd.MODULE_TYPE = Modules.MODULE_TYPE;

            newMOd.MODULE_TYPE1 = Modules.MODULE_TYPE1;

            newMOd.PRODUCT_LINE = Modules.PRODUCT_LINE;
            newMOd.MODULE_NAME = "Duplicate-" + Modules.MODULE_NAME;

            foreach (MODULE_PARTS mp in Modules.MODULE_PARTS)
            {
                newMOd.MODULE_PARTS.Add(mp);
            }
            foreach (MODULE_OPTION mo in Modules.MODULE_OPTION)
            {
                MODULE_OPTION m = new MODULE_OPTION();
                m.OPTION_NAME = mo.OPTION_NAME;
                m.OPTION_TYPE = mo.OPTION_TYPE;
                m.PRODUCT_LINE = mo.PRODUCT_LINE;
                m.ADDED_BY = mo.ADDED_BY;
                m.ADDED_ON = mo.ADDED_ON;
                m.DEFAULT_FACTOR = mo.DEFAULT_FACTOR;
                foreach (OPTION_PARTS op in mo.OPTION_PARTS)
                {

                    m.OPTION_PARTS.Add(op);

                }
                newMOd.MODULE_OPTION.Add(mo);
            }
            newMOd.MODULE_PARTS = Modules.MODULE_PARTS;
            newMOd.MODULE_OPTION = Modules.MODULE_OPTION;
            db.MODULE.Add(newMOd);
            db.SaveChanges();

        }
        return View(Modules);
    }
这是我的控制器方法,当我尝试将此模块添加到数据库时,我得到集合修改错误。我不知道如何或在哪里


本例中的异常消息非常清楚。。。您不能修改当前正在迭代的集合的成员。就是这么简单。

哪一行代码会抛出错误。db.MODULE.AddnewMOd;你能给我们看一个IDE的屏幕截图来显示发生的异常吗?我很惊讶这就是异常发生的地方。另外,在调试过程中,我注意到我的模块id为0,这可能是原因吗?如果你能提供一个示例,让我们可以看到什么是db和db.module,那就太棒了。我没有迭代任何东西tho@BrennanPrasadforeach没有在集合上迭代?