繁体   English   中英

你能否让AutoMapper只显示明确匹配的地图属性

[英]Can you have AutoMapper only map properties that match explicitly

有没有办法让AutoMapper只显示明确匹配的属性? 我的模型有一个属性UserAccountId,并且还有一个具有Id属性的导航属性UserAccount,如果用户发布UserAccountId,我希望AutoMapper映射UserAccountId并保留UserAccount.Id null; 我希望避免使用Ignore,因为这会阻止我明确发布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
}

在这种情况下不要使用AutoMapper。 它不是为了支持这种情况而构建的。

或者使用ForPath(...)。忽略,但我不会在这种情况下使用我的库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM