如何将ExpandoObject(或动态)映射到实例?

时间:2019-01-28 13:27:59

标签: automapper

我在将dynamic或ExpandoObject映射到目标类型的实例时遇到问题。我知道文档说不需要为映射动态类型而先创建映射,但是如果我想做一些后期处理该怎么办。例如,我有这个

  this.CreateMap<ExpandoObject,CustomerCreatedEvent>()
        .AfterMap(( o,  @event) => @event.NewProp = "some default value" );

当我尝试映射时

  dynamic evnt = JsonConvert.DeserializeObject<ExpandoObject>(Encoding.UTF8.GetString(data));

  var instanceType = Type.GetType((string) eventClrTypeName);

  var eventInstance = _mapper.Map(evnt, evnt.GetType(), instanceType);

我只映射了“ NewProp”,并且所有其他属性都设置为默认值,没有分配发生。

0 个答案:

没有答案