【发布时间】:2013-08-12 09:03:27
【问题描述】:
我不明白为什么它会覆盖我的整个对象。原因是我从 db 获取了我的 User 对象,并且我想从 DTO 分配新值。它不仅仅是添加这些新值,而是创建具有新值的新对象,但之前的所有值都设置为null。
我如何确保在这种情况下他会“升级”我的对象,而不是创建新对象?
场景
/users/{id} - 放置
// User has id, username, fullname
// UserPut has fullname
public HttpResponseMessage Put(int id, UserPut userPut)
{
var user = _db.Users.SingleOrDefault(x => x.Id == id); // filled with properties
Mapper.CreateMap<UserPut, User>();
user = Mapper.Map<User>(userPut); // now it has only "fullname", everything else set to null
// I can't save it to db because everything is set to null except "fullname"
return Request.CreateResponse(HttpStatusCode.OK, user);
}
【问题讨论】:
标签: c# automapper dto automapping automapper-2