0
我試圖更新我的數據庫表中的某些字段MVC Automapper更新
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(MemberTasks membertaskdetails)
{
if (ModelState.IsValid)
{
MemberTasks Mtasks = db.MemberTask.Find(membertaskdetails.id);
Mtasks.Taskid = membertaskdetails.Taskid;
Mtasks.status = membertaskdetails.status;
AutoMapper.Mapper.Map(membertaskdetails,Mtasks);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(membertaskdetails);
}
視圖模型
public class MemberTasks
{
[Key]
[Display(Name = "ID")]
public int id { get; set; }
[Display(Name = "Task ID")]
public int Taskid { get; set; }
[Display(Name = "Status")]
public int status { get; set; }
[Display(Name = "Created By")]
public string createdby { get; set; }
[Display(Name = "Team Lead")]
public string TeamLead { get; set; }
[Display(Name = "Note")]
public string Note { get; set; }
[Display(Name = "Members")]
public string Membersid { get; set; }
}
代碼執行成功,但問題是剩餘的字段也更新爲空值,我有6列我只想更新2列。 有什麼幫助嗎?
感謝您的回覆我試過,但我得到了錯誤缺少類型映射配置或不支持映射。 映射類型: UpdateMemberTasks - > MemberTasks TaskManager.Models.UpdateMemberTasks - > TaskManager.Models.MemberTasks 目標路徑: MemberTasks 來源值: TaskManager.Models.UpdateMemberTasks – user1127905 2013-05-12 08:19:29
是的,你需要定義一個映射首先使用'Mapper.CreateMap'方法在你的模型之間。 – 2013-05-12 08:24:57
謝謝,我忘了再次更新CreateMap以獲得支持。現在其工作正常 – user1127905 2013-05-12 08:28:04