Automapper->将对象的命名属性映射到数组属性

时间:2019-06-14 11:50:55

标签: c# automapper

所以我有一个具有数组的对象,我需要将另一个对象的属性映射到该数组。在Automapper 5中,我曾经使用“ ResolveUsing”来执行此操作,但是在更新automapper之后,此操作不起作用。我以前所做的是:

.ForMember(dest => dest.Array, opt => opt.ResolveUsing(o =>
                {
                    return new[] {
                        new Arra() { Key = "Key", Value = o.Value },
                        new Arra() { Key = "Key2", Value = o.Value2 }
                    };
                }));

在升级指南中,他们提到不再使用ResolveUsing:http://docs.automapper.org/en/stable/8.0-Upgrade-Guide.html在阅读此内容后,我实际上并不知道如何解决此问题。

所有搜索都将我引向人们尝试映射数组->命名属性的问题,而我的情况则相反。

2 个答案:

答案 0 :(得分:0)

您尝试使用MapFrom而不是使用Resolve吗?

.ForMember(dest => dest.Array, opt => opt.MapFrom(o => new[] {
                    new Arra() { Key = "Key", Value = o.Value },
                    new Arra() { Key = "Key2", Value = o.Value2 }
            }));

答案 1 :(得分:0)

我相信这应该对您有用-

.ForMember(dest => dest.Array, opt => opt.MapFrom(o => new[] {
                        new Arra() { Key = "Key", Value = o.Value },
                        new Arra() { Key = "Key2", Value = o.Value2 }
                    }));