我创建了一个 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; }
}
我为我的子项创建了一个编辑器模板,它在编辑页面上创建了预期的下拉菜单。
当我在 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 字段中?