列表的AutoMapper配置
本文关键字:配置 AutoMapper 列表 | 更新日期: 2023-09-27 18:26:52
我有一个实体和相应的DTO
public class PersonEntity {
public int personId;
public List<Contact> contacts;
}
public class PersonDto {
public int personId;
public List<int> contacts;
}
使用以下带有AutoMapper 的地图
Mapper.Map<PersonDto, Person>();
我正在使用AutoMapper来获取DTO,这不是问题。
我正在将DTO解析回实体,以更新实体中的字段进行保存操作,我对联系人列表不再感兴趣。Automapper抛出了一个异常,因为它不喜欢将int列表映射到对象列表。
有什么建议或更好的方法吗。
编辑
使用的解决方案是
Mapper.CreateMap<PersonDto, Person>()
.ForMember(x => x.contacts, y => y.Ignore());
您能在配置中使用ignore方法吗?
http://automapper.codeplex.com/wikipage?title=Configuration%20Validation
opt => opt.Ignore()
但是。你真的需要更新实体来保存吗?为什么不发送一个包含更改数据的命令呢。
正如您所知,AutoMapper在具有相同名称的对象中查找属性&类型,因此您很可能需要更改DTO或实体,使它们匹配。