有没有办法让AutoMapper仅映射明确匹配的属性?我的模型有一个UserAccountId属性,还有一个具有Id属性的导航属性UserAccount,如果用户发布了UserAccountId,我希望AutoMapper映射UserAccountId并保留UserAccount.Id为null;我希望避免使用“忽略”,因为这也会阻止我显式发布UserAccount.Id。我找不到有关控制AutoMapper的名称匹配策略的任何信息...
public class Role {
public int Id {get; set;}
public int UserAccountId {get; set;}
public UserAccount UserAccount {get; set;}
...
}
public class UserAccount {
public int Id {get; set;}
...
}
public class RoleViewModel {
public int Id {get; set;}
public int UserAccountId {get; set;}
}
public ActionResult AddRole(RoleViewModel viewModel) {
var model = GetModel(viewModel.Id);
Mapper.Map(viewModel, model);
//Do not infer and map UserAccount.Id
}
答案 0 :(得分:0)
在这种情况下,请勿使用AutoMapper。它并不是为支持这种情况而构建的。
或使用ForPath(...)。忽略,但在这种情况下我不会使用我的库。