我有这个模型课
public class AppInfo
{
[Required(ErrorMessage = "Campo obrigatório")]
public string nick { get; set; }
[Required(ErrorMessage = "Campo obrigatório")]
public string version { get; set; }
public string description { get; set; }
public bool invalidated { get; set; }
public System.DateTime releasedAt { get; set; }
public System.DateTime createdAt { get; set; }
public System.DateTime updatedAt { get; set; }
}
并且我有一个放置请求,可以选择接收上述模型的三个字段
public class AppInfoPutModel
{
public string description { get; set; }
public bool invalidated { get; set; }
public System.DateTime releasedAt { get; set; }
}
并且当我在正文请求中收到部分信息时,我需要映射这些新信息内部对象使用AutoMapper或类似的东西,我试图这样做
AppInfo appInfo = await_getAppInfoByNickAndVersionBll.GetAppInfoByNickAndVersion(appNick, appVersion);
new MapperConfiguration(cfg => cfg.CreateMap<AppInfoPutModel, AppInfo>());
_mapper.ConfigurationProvider.CreateMapper();
_mapper.Map(appInfoToUpdate, appInfo);
await _putAppInfoBll.PutAppInfo(appInfo, appInfoToUpdate);
return new OkObjectResult(appInfo);
并且此代码引发错误,因为AppInfoPutModel不具有AppInfo拥有的所有属性,并且无法映射所有字段,有没有办法只映射这3个字段并保留其他字段?
看来您忘记了传递映射的实际结果。这行: