Map<IDataReader, MyType>(sourceReader, destinationObject) 不更新 destinationObject



从DataReaderMapping单元测试中,更改Establish_context方法(Mapper)。图线)

        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;
        }

我已经追踪到mpropertyvalues方法在DataReaderMapper.cs.

context.TypeMap.GetPropertyMaps()没有任何属性的属性映射,除了单元测试中在ForMember扩展中定义的'Else'。

我已经尝试使用ForAllMembers来"欺骗"属性映射来添加缺失的属性,但是没有_sourceValueResolvers用于这些属性映射。

建议如何解决?

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

pull request for AutoMapperhttps://github.com/AutoMapper/AutoMapper/pull/721/files

相关内容

  • 没有找到相关文章

最新更新