在映射期间调用 IEnumerable 的每个项目的内联回调方法

问题描述 投票:0回答:1

我有两节课:

    class A
    {
        public int MyProperty { get; set; }
    }

    class ADto
    {
        public int MyProperty { get; set; }
        public bool Flag { get; set; }
    }

我想将

IEnumerable<A>
映射到
IEnumerable<ADto>
,我用
_mapper.Map<IEnumerable<ADto>>(aList)
执行,但问题是我想计算正在映射的每个条目的
ADto.Flag
的值应该是多少。我可以在映射期间设置该标志的值吗?

.net-core automapper
1个回答
0
投票

是的。设置 AutoMapper 时,您需要添加 自定义投影 。这将指定如何从

A
映射到
ADto

var configuration = new MapperConfiguration(cfg => cfg.CreateProjection<A, ADto>()
    .ForMember(d => d.Flag, opt => opt.MapFrom(c => { /* DO MAPPING HERE*/ }));
© www.soinside.com 2019 - 2024. All rights reserved.