我有两个相似但不完全相同的模型
public class ResponseModel
{
public int? AccountId { get; set; }
public string AccountNumber { get; set; }
public string AccountLegalname { get; set; }
public string Link { get; set; }
}
和
public class Information
{
public int? IdentityId { get; set; }
public int? AccountId { get; set; }
public string AccountNumber { get; set; }
public string AccountLegalName { get; set; }
}
我正试图将这两个模型结合起来
var test1 = new Information(){
IdentityId = 1234
};
var test2 = new ResponseModel()
{
AccountId = 123214,
AccountLegalname = "test",
AccountNumber = "9239235",
Link = "link"
};
test1 = _mapper.Map<ResponseModel, Information>(test2);
我想要的是导致test1结合两个模型值来填充Information
的一个完整实例。
但是实际发生的是将来自test2的所有信息插入到test1和test1.IdentityId = null
我尝试过
this.CreateMap<ResponseModel, Information>()
.ForAllMembers(o => o.Condition((source, destination, member) => member != null));
但是没有运气。
如何使test2不会覆盖存在于test1而不是test2中的数据?
答案 0 :(得分:1)
如果我没记错的话,可以将目标作为参数传递,以通过重载来调用特定功能:
test1 = _mapper.Map(test2, test1 );