AutoMapper:在收集处理期间对每个元素采取行动?

时间:2012-10-11 01:33:48

标签: collections action automapper

是否可以使用AutoMapper在从源复制到目标集合的每个对象上调用方法?目标对象有一个名为的方法 Decrypt()我希望为每个创建的CustomerDTO元素调用它。我唯一可以弄清楚的是执行映射转换,然后再次循环以调用Decrypt()方法。我很感激你对这个问题的帮助。

谢谢,

麦克

IQueryable<CustomerDTO> dtos = AutoMapper.Mapper.Map<IQueryable<CustomerEntity>,     IQueryable<CustomerDTO>>((BaseRepository.List));

foreach (var item in dtos)
{
    item.Decrypt(Seed);
}

1 个答案:

答案 0 :(得分:1)

这取决于您是仅解密属性还是整个对象。根据你的问题,我不确定。

如果您只是在解密属性,那么我建议您查看AutoMapper的Custom Value Resolvers。它们允许您在解析目标属性时进行控制。

如果你需要解密整个对象,那么我建议你研究一下AutoMapper的Custom Type Converters。这使您可以完全控制转换,但它确实可以自动退出AutoMapper。