我创建了一个MVC4 CodeFirst应用程序,其父模型类具有公共虚拟子导航属性。
public class ParentObject
{
[Key]
public int ParentItemId { get; set; }
public string ParentItemName { get; set; }
public virtual ChildItem childItem { get; set; }
}
public class ChildItem
{
[Key]
public int ItemId { get; set; }
public String ItemDescription { get; set; }
public string SomeOtherText { get; set; }
}
我为我的Child项创建了一个编辑器模板,它在Edit页面上创建了预期的下拉列表。
当我在DropDownList中选择一个新值并单击“保存”时,新选择的值将传回控制器。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(ParentObject parentobject)
{
if (ModelState.IsValid)
{
db.Entry(parentobject).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(parentobject);
}
和db.SaveChanges();执行行没有错误。
为什么新值未保存在childItem_ItemId字段中?