代码之家  ›  专栏  ›  技术社区  ›  RailRhoad

使用实体框架持久化模型绑定对象

  •  0
  • RailRhoad  · 技术社区  · 15 年前

    我会尽量简明扼要。

    我的控制器在这里…

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Edit(CustomObject myCustomObject)
    {
         ...
    }
    

    其中myCustomObject看起来很棒。但是,如果我想使用实体框架保存这个,我需要做类似的事情…

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Edit(CustomObject myCustomObject)
    {
         CustomObject existingObject = repository.GetCustomObject(myCustomObject.ID);
    
         // Set all the attributes of myCustomObject to existingObject
         existingObject.SomeMapperFunction(myCustomObject)
    
         repository.Save();
    }
    

    我有没有办法避免做这个地图摘录?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Dmytrii Nagirniak    15 年前
    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Edit(int id)
    {
         CustomObject existingObject = repository.GetCustomObject(id);
    
         TryUpdateModel(existingObject);
         // You additionaly can check the ModelState.IsValid here
    
         repository.Save();
    }