AutoMapper-将对象列表映射到更大的对象列表
创始人
2024-09-23 10:00:29
0

假设我们有两个类A和B,其中A的属性包括一个名为Items的列表。现在我们想要将A对象的列表项映射到另一个更大的B对象列表中。

首先,必须确保在我们的项目中包含了AutoMapper。然后,我们可以按照以下步骤使用Mapper.Map方法进行映射:

1.创建两个类A和B,其中A包含一个名为Items的列表属性:

public class A
{
    public List Items { get; set; }
}
public class B
{
    public string Name { get; set; }
    public string Value { get; set; }
}

2.创建A对象列表:

var listA = new List
{
    new A { Items = new List { "item1", "item2" } },
    new A { Items = new List { "item3", "item4", "item5" } }
};

3.使用AutoMapper配置映射:

Mapper.Initialize(cfg =>
{
    cfg.CreateMap()
       .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src))
       .ForMember(dest => dest.Value, opt => opt.MapFrom((src, dest) => dest.Value)); 
    cfg.CreateMap>()
       .ForMember(dest => dest, opt => opt.MapFrom(src => src.Items.Select(item => Mapper.Map(item)).ToList())); 
});

这个过程配置了两个映射。第一个映射可以将字符串映射到B对象,第二个映射可以将A对象映射到B对象的列表中。

4.使用Mapper.Map方法映射A对象列表到B对象列表:

var listB = Mapper.Map, List>(listA);

现在,listB将包含一个名为Items的列表,其中包含所有A对象的列表项映射到B对象。

相关内容

热门资讯

9分钟实锤!德扑之星猫腻(we... 9分钟实锤!德扑之星猫腻(wepower德州)确实存在有挂(详细辅助可靠教程)1、起透看视 德扑之星...
第3分钟实锤!智星德州菠萝(德... 第3分钟实锤!智星德州菠萝(德州扑克)都是有挂(详细辅助细节揭秘)智星德州菠萝软件透明挂微扑克wpk...
6分钟实锤!德州ai人工智能(... 6分钟实锤!德州ai人工智能(德州wepower)原来真的有挂(详细辅助专业教程)1、德州ai人工智...
九分钟实锤!德州ai辅助软件(... 九分钟实锤!德州ai辅助软件(wepower德州)确实有挂(详细辅助微扑克教程)1、上手简单,内置详...
八分钟实锤!德州AI智能辅助机... 八分钟实锤!德州AI智能辅助机器人(来玩德州app)确实是有挂(详细辅助安装教程)1、八分钟实锤!德...
一分钟实锤!德州之星插件(德州... 一分钟实锤!德州之星插件(德州扑克)本来有挂(详细辅助教你攻略);1、德州之星插件透视辅助简单,德州...
第8分钟实锤!德扑ai智能(手... 第8分钟实锤!德扑ai智能(手机德州)其实存在有挂(详细辅助必赢教程)1、打开软件启动之后找到中间准...
9分钟实锤!德州之星有外挂(德... 9分钟实锤!德州之星有外挂(德扑)真是真的是有挂(详细辅助攻略教程)1、任何德州之星有外挂ai辅助神...
第6分钟实锤!智星德州菠萝(来... 第6分钟实锤!智星德州菠萝(来玩德州app)果然是真的有挂(详细辅助细节揭秘);1、任何智星德州菠萝...
1分钟实锤!德州ai机器人(德... 1分钟实锤!德州ai机器人(德州俱乐部)一贯是有挂(详细辅助揭秘教程)1、德州ai机器人透视辅助简单...