使用内置映射器的AutoMapper



从AutoMapper 4.2.1升级到5.0.0,如果不提供配置,我不能再这样做了:

var entity = Mapper.Map<Dictionary<string, object>, MyEntity>(feature.Attributes);

以前,AutoMapper会自动计算出Dictionary键直接映射到属性名,而不需要任何设置。

我已经尝试了初始化使用:

Mapper.Initialize(cfg =>
{
    cfg.CreateMap<Dictionary<string, object>, MyEntity>();
    cfg.CreateMap<Dictionary<string, object>, MyOtherEntity>();
});

但是这会导致我的实体属性为空,因为AutoMapper不再以这种方式自动连接它以前的内置字典映射器。

我假设我需要使用ProjectUsing()之类的东西,但我还没有设法找到内置的AutoMapper映射器。

我确信这是一个非常简单的代码问题来解决。有什么快速提示吗?或者甚至链接到相关的文件,我可能会错过什么?提前感谢!

您可以使用动态映射:

var dic = new Dictionary<string, string>();
dic.Add("foo", "bar");
var test = Mapper.DynamicMap<Dictionary<string, string>>(dic);

相关内容

  • 没有找到相关文章

最新更新