首页 > 解决方案 > Automapper 将 valueTransformer 添加到“字典到对象”映射器

问题描述

我正在尝试使用内置映射器将字典映射到 POCO,并使用全局 ValueTransformer 对字符串应用额外的转换:

class MyPoco
{
    public string StringValue { get; set; }
}

映射器调用:

            var source = new Dictionary<string, object>
            {
                { "StringValue", "abc" }
            };

            var mapper = new MapperConfiguration(cfg =>
                {
                    cfg.ValueTransformers.Add<string>(dest => dest + "!!!");
                })
                .CreateMapper();

            var poco = mapper.Map<MyPoco>(source);
            Assert.Equal("abc!!!", poco.StringValue);

在映射调用之后,poco.StringValue等于“abc”并且配置的 ValueTransfomer 永远不会被调用。我错过了什么吗?

标签: c#automapper

解决方案


推荐阅读