自动映射:对现有实体对象进行更新

时间:2018-05-25 15:29:32

标签: asp.net-mvc entity-framework-6 automapper

我想更新来自其他模型的现有实体对象。但每次我得到一个新对象(具有映射属性和其他属性的默认值。)相反,我想要一个部分更新的目标对象。

AutoMapper.Mapper.Initialize(cfg => cfg.CreateMap<Customer, MYPOCO>().ReverseMap());


public void UpdateEntity(Customer customerSrc)
{
    MYPOCO pocoDesc= dbContext.DD_POCO.SingleOrDefault(m => m.Id == 123);
    pocoDesc = AutoMapper.Mapper.Map<Customer, MYPOCO>(customerSrc, pocoDesc);

  // Here "pocoDesc" is a new object, I got only "customerSrc" data and lost all other existing properties values.
}

Automapper:6.2.2(版本)

尝试Automapper: Update property values without creating a new object

任何想法?

1 个答案:

答案 0 :(得分:0)

如果仍然存在,请尝试以下操作:

public void UpdateEntity(Customer customerSrc)
{
    MYPOCO pocoDesc= dbContext.DD_POCO.SingleOrDefault(m => m.Id == 123);
    AutoMapper.Mapper.Map<Customer, MYPOCO>(customerSrc, pocoDesc);
    dbContext.Save();
}