映射<idatareader,mytype =“”>(sourceReader,destinationObject)不更新destinationObject

时间:2015-05-19 22:36:37

标签: automapper

从DataReaderMapping单元测试中,更改Establish_context方法(Mapper.Map行)

        protected override void Establish_context()
        {
            Mapper.CreateMap<IDataRecord, DTOObject>()
                .ForMember(dest => dest.Else, options => options.MapFrom(src => src.GetDateTime(src.GetOrdinal(FieldName.Something))));

            _dataRecord = new DataBuilder().BuildDataRecord();
            var result = new DTOObject();
            Mapper.Map<IDataRecord, DTOObject>(_dataRecord, result);
            _result = result;
        }

我已将其跟踪到DataReaderMapper.cs中的MapPropertyValues方法。

context.TypeMap.GetPropertyMaps()没有除了&#39; Else&#39;之外的任何属性的属性映射。在单元测试中的ForMember扩展中定义。

我尝试过使用ForAllMembers来欺骗&#39;该属性映射为添加缺少的属性,但这些属性映射没有_sourceValueResolvers。

关于如何解决的建议?

1 个答案:

答案 0 :(得分:0)

DataReaderMapper.CreateBuilder中发出的IL总是创建一个新对象,而不是在ResolutionContext中使用DestinationValue。

拉取AutoMapper的请求 simple, stateful approach to hiding/showing a UIView that has Auto Layout constraints