使用自动映射器将字节列表转换为对象列表

味道

我有一个包含字节列表的源对象property('Roles')

源对象:

public class SourceObjectModel
{
    public int Id { get; set; }

    public List<byte> Roles { get; set; }
}

并且目标对象包含对象属性列表(“角色”)

目标对象:

public class DestinationObjectModel
{
    public int Id { get; set; }

    public List<MyObject> Roles { get; set; }
}

MyObject对象:

public class MyObject
{                
    public byte Id { get; set; }
}

我想将源对象映射到目标对象。

我的自动映射器配置:

o.CreateMap<SourceObjectModel, DestinationObjectModel>()
                .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))                                                                                
                .ForMember(dest => dest.Roles, opt => opt.ResolveUsing(src => new MyResolver()))

我创建了一个自定义转换器类,以将字节列表转换为对象列表。

MyResolver类:

public class MyResolver: ITypeConverter<List<byte>, List<MyObject>>
{
    public List<MyObject> Convert(List<byte> source, List<MyObject> destination, ResolutionContext context)
    {
        return new List<MyObject>();
    }
}

运行AssertConfigurationIsValid()后,我的应用程序崩溃了,但是我没有得到特定的详细错误。谁能告诉我自定义解析器类出了什么问题?

味道

最后,我设法解决了该错误。在我的映射器配置中添加了一个新的映射器:

o.CreateMap<List<byte>, List<MyObject>>()
                 .ConvertUsing<MyResolver>();

我删除了从基本源对象到目标对象映射配置的属性映射:

o.CreateMap<SourceObjectModel, DestinationObjectModel>()
            .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用自动映射器将多个列表转换为单个主子对象列表

使用自动映射器映射对象列表

使用自动映射器映射对象列表

自动映射器将多个属性转换为数组/列表

来自对象列表的自动映射器

自动映射器:将单个对象及其内部的对象列表映射到列表中

如何使用自动映射器从嵌套列表映射到目标对象?

使用自动映射器映射列表数组

自动映射器映射数组列表

在复杂对象列表内找不到对象(使用自动映射器)

使用自动映射器将字符串类型的列表映射到具有字符串属性的对象列表

将字节对象列表转换为字典

使用对象映射器从JsonNode返回通用列表?

复杂对象中的自动映射器和映射列表/嵌套映射

自动映射器从源到目标的映射,其中包含对象列表

自动映射器将多个可选属性映射到列表

将通用IEnumerable映射到通用列表时,自动映射器失败

更快的xml对象映射器将java对象错误地转换为json吗?

自动映射器-将UTC转换为特定时区

如何使用自动映射器将简单的poco映射到复杂的对象层次结构?

如何使用自动映射器将非规范化数据映射到复杂对象?

如何使用自动映射器将二维数组映射到“数组对象”的集合?

自动映射器-使用IEnumerable <anotherType>映射对象

使用自动映射器映射多级嵌套对象

使用自动映射器映射对象的问题

自动映射器未展开到列表

自动映射器自定义解析器源成员到目标对象列表的映射问题

数据映射器是否将SGBD结果转换为对象?

Terraform HCL-将列表转换为对象映射?