我没有反对automapper,但我想先了解手动方法。
我要更新的表是area_list
我的观点模型:
public class AreaView
{
public int area_id { get; set; }
public string area_name { get; set; }
public string facility_name { get; set; }
public int facility_id { get; set; }
}
“编辑”视图有两个字段,area_id(隐藏)和area_name
我的编辑控制器(帖子),这是我的问题所在:
[HttpPost]
public ActionResult Edit(AreaView e_area)
{
if (ModelState.IsValid)
{
areaDB.Entry(e_area).State = EntityState.Modified;
areaDB.SaveChanges();
return RedirectToAction("List", new { id = e_area.facility_id });
}
return View(e_area);
}
有人可以举例说明如何手动将viewmodel映射到area_list(模型,由实体框架创建)?我是否正确绑定了AreaView视图模型?
现在这将在控制器中,但如果它应该驻留在其他地方,那么所有的耳朵。
谢谢。
答案 0 :(得分:0)
嗯,如果对其他人有用的话,会在下面发布更多的反复试验。
[HttpPost]
public ActionResult Edit(AreaView e_area)
{
if (ModelState.IsValid)
{
// Map the model
var area = areaDB.area_list.Where(x => x.area_id == e_area.area_id).FirstOrDefault();
area.area_name = e_area.area_name;
areaDB.Entry(area).State = EntityState.Modified;
areaDB.SaveChanges();
return RedirectToAction("List", new { id = e_area.facility_id });
}
return View(e_area);
}