我有一個事件模型:外鍵字段不會在Db.savechanges更新()
public class Incident
{
public int Id { get; set; }
public string Description { get; set; }
public virtual Priority Priority { get; set; }
public DateTime? ResolvedAt { get; set; }
}
和優先級模式:
public class Priority
{
public int Id { get; set; }
public string Description { get; set; }
}
共享一個外鍵關係。 優先級表從P0到P9有10個固定優先級。
這是在視圖中編輯後的HttpPost。
[HttpPost]
public ActionResult Edit(Incident incident)
{
if (ModelState.IsValid)
{
if (incident.Id == 0)
db.Incidents.Add(incident);
else
{
db.Incidents.Attach(incident);
db.Entry(incident).State = EntityState.Modified;
}
db.SaveChanges();
return RedirectToAction("Index");
}
return View(incident);
}
在調試時,我可以看到incident
內的所有更新。 但是這些更改不會反映在savechanges()
(其中有外鍵關係) 之後的優先級這是爲什麼?如果你有在Incident
模型額外的外鍵屬性public int PriorityId { get; set; }