public ActionResult Event_History(int id = 0)
{
//set into false the active flag of the event
Events_Info_tbl events = db.Events_Info_tbl.Find(id);
events.is_active = false;
db.Entry(events).State = EntityState.Modified;
//set the category under this event into inactive
List<Events_Category_tbl> category = new List<Events_Category_tbl>();
category = db.Events_Category_tbl.Where(x=>x.events_info_id==id).ToList();
foreach(var i in category){
Events_Category_tbl cat = new Events_Category_tbl();
cat.is_active = false;
db.Entry(cat).State = EntityState.Modified;
}
db.SaveChanges();
TempData["MessageAlert"] = "Event is save in history!";
return RedirectToAction("Index");
}
Iam计划设置为非活动状态,所有类别都属于该特定事件,但是当我尝试运行此代码时显示错误“具有相同键的对象已存在于ObjectStateManager。ObjectStateManager不能使用相同的密钥跟踪多个对象。“指向我的这部分代码db.Entry(cat).State = EntityState.Modified;
更新数据库中的数据列表
您不需要手动更改状态,它由EF处理 – Peyman 2015-03-25 00:18:56