gpt4 book ai didi

c# - 使用 AutoMapper CreateMap 将属性映射到对象列表

转载 作者:行者123 更新时间:2023-12-01 21:50:04 25 4
gpt4 key购买 nike

首先,对不起我的英语:)

我正在使用 AutoMapper 在类之间进行映射。

我有如下所示的类结构。

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

public class OrderDtoList {
OrderDto[] Orders { get; set; }
}

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

我的问题是,我想使用 AutoMapping Profile 将 OrderDtoList 对象映射到 List。

public class OrderMappingProfile : Profile {
public OrderMappingProfile() {
CreateMap<OrderDto, Order>();
CreateMap<OrderDtoList, List<Order>(); // <<<<<<<< I cannot figure out this.
}
}

但我不知道如何编写 CreateMap<>() 函数。

请帮忙。

最佳答案

您可以创建一个实现 ITypeConverter< OrderDtoList, List > 的类,并使用 ConvertUsing 创建映射方法。

public class OrderDtoListMapper : ITypeConverter<OrderDtoList, List<Order>>
{
public List<Order> Convert(OrderDtoList source, List<Order> destination, ResolutionContext context)
{
return context.Mapper.Map<List<Order>>(source.Orders);
}
}

然后,您可以像这样创建映射:

public class MapperProfile : Profile
{
public MapperProfile()
{
CreateMap<OrderDto, Order>();
CreateMap<OrderDtoList, List<Order>>().ConvertUsing<OrderDtoListMapper>();
}
}

希望这就是您要找的!

关于c# - 使用 AutoMapper CreateMap 将属性映射到对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59647858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com