C# 使用automapper将字节列表转换为对象列表
我有一个源对象,其中包含字节属性(“角色”)列表 源对象:C# 使用automapper将字节列表转换为对象列表,c#,asp.net,C#,Asp.net,我有一个源对象,其中包含字节属性(“角色”)列表 源对象: public class SourceObjectModel { public int Id { get; set; } public List<byte> Roles { get; set; } } 我想将源对象映射到目标对象 我的自动映射配置: o.CreateMap<SourceObjectModel, DestinationObjectModel>()
public class SourceObjectModel
{
public int Id { get; set; }
public List<byte> Roles { 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()))
o.CreateMap<List<byte>, List<MyObject>>()
.ConvertUsing<MyResolver>();
o.CreateMap()
.ForMember(dest=>dest.Id,opt=>opt.MapFrom(src=>src.Id))
.ForMember(dest=>dest.Roles,opt=>opt.resolvesusing(src=>newmyresolver()))
我创建了一个自定义转换器类,将字节列表转换为对象列表
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>();
}
}
公共类MyResolver:ITypeConverter
{
公共列表转换(列表源、列表目标、ResolutionContext上下文)
{
返回新列表();
}
}
我的应用程序在运行AssertConfigurationsValid()后崩溃,但我没有得到具体的详细错误。有人能告诉我自定义解析器类有什么问题吗?最后我成功地修复了错误。A在我的映射器配置中添加了一个新映射器:
o.CreateMap<SourceObjectModel, DestinationObjectModel>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
.ForMember(dest => dest.Roles, opt => opt.ResolveUsing(src => new MyResolver()))
o.CreateMap<List<byte>, List<MyObject>>()
.ConvertUsing<MyResolver>();
o.CreateMap()
.ConvertUsing();
我从基本源对象到目标对象映射配置中删除了属性映射:
o.CreateMap<SourceObjectModel, DestinationObjectModel>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id));
o.CreateMap()
.ForMember(dest=>dest.Id,opt=>opt.MapFrom(src=>src.Id));
最后我成功地修复了错误。A在我的映射器配置中添加了一个新映射器:
o.CreateMap<SourceObjectModel, DestinationObjectModel>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
.ForMember(dest => dest.Roles, opt => opt.ResolveUsing(src => new MyResolver()))
o.CreateMap<List<byte>, List<MyObject>>()
.ConvertUsing<MyResolver>();
o.CreateMap()
.ConvertUsing();
我从基本源对象到目标对象映射配置中删除了属性映射:
o.CreateMap<SourceObjectModel, DestinationObjectModel>()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id));
o.CreateMap()
.ForMember(dest=>dest.Id,opt=>opt.MapFrom(src=>src.Id));
AssertConfiguration有效ID
提供了有关该问题的信息。它抛出AutoMapperConfigurationException
或aggregateeexception
。在后一种情况下,您必须查看其内部异常。我得到以下错误:“缺少类型映射配置或不支持的映射”。然后查看内部异常。这是一样的,没有关于错误的更多详细信息。assertconfigurationsvalid
提供了有关该问题的信息。它抛出AutoMapperConfigurationException
或aggregateeexception
。在后一种情况下,您必须查看其内部异常。我得到以下错误:“缺少类型映射配置或不支持的映射。”然后查看内部异常。这是相同的,不再提供有关错误的详细信息。。