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