繁体   English   中英

使用内置映射器的AutoMapper

[英]AutoMapper using built-in mappers

从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不再以这种方式自动连接其先前的内置Dictionary映射器。

我假设我需要使用类似ProjectUsing()但是我还没有找到内置的AutoMapper映射器。

我确信这是一个非常简单的代码问题,可以解决。 任何快速指示? 甚至链接到我可能会错过的相关文档? 提前致谢!

您可以使用动态地图:

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

var test = Mapper.DynamicMap<Dictionary<string, string>>(dic);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM