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