Automapper - 将源子对象映射到目标时包含父级值
创始人
2024-09-23 08:30:44
0

在使用AutoMapper时,可以使用ForMember方法配置映射规则,以在源子对象映射到目标对象时包含父级值。下面是一个示例代码:

using AutoMapper;

public class ParentObject
{
    public int ParentValue { get; set; }
    public ChildObject Child { get; set; }
}

public class ChildObject
{
    public int ChildValue { get; set; }
}

public class DestinationObject
{
    public int ParentValue { get; set; }
    public int ChildValue { get; set; }
}

public class MappingProfile : Profile
{
    public MappingProfile()
    {
        CreateMap()
            .ForMember(dest => dest.ParentValue, opt => opt.MapFrom(src => src.ParentValue))
            .ForMember(dest => dest.ChildValue, opt => opt.MapFrom(src => src.Child.ChildValue));
    }
}

// 在代码的其他地方注册AutoMapper配置
public static class AutoMapperConfig
{
    public static void RegisterMappings()
    {
        Mapper.Initialize(cfg =>
        {
            cfg.AddProfile();
        });
    }
}

// 使用示例
var parent = new ParentObject
{
    ParentValue = 10,
    Child = new ChildObject
    {
        ChildValue = 20
    }
};

AutoMapperConfig.RegisterMappings();
var destination = Mapper.Map(parent);

Console.WriteLine($"ParentValue: {destination.ParentValue}");
Console.WriteLine($"ChildValue: {destination.ChildValue}");

在上面的示例中,我们定义了三个类:ParentObjectChildObjectDestinationObjectParentObject包含一个ChildObject子对象和一个ParentValue属性。ChildObject包含一个ChildValue属性。DestinationObject是我们希望映射到的目标类,它包含了ParentValueChildValue属性。

然后,我们创建了一个继承自ProfileMappingProfile类,并在其中配置了映射规则。使用ForMember方法,我们指定了如何映射ParentValueChildValue属性。opt.MapFrom方法允许我们指定从源对象到目标对象的映射方式。

在注册AutoMapper配置的AutoMapperConfig类中,我们使用Mapper.Initialize方法注册了MappingProfile

最后,在使用示例中,我们创建了一个源对象parent,并使用Mapper.Map方法将其映射到目标对象destination。我们可以通过打印目标对象的属性来验证映射结果。

输出结果将是:

ParentValue: 10
ChildValue: 20

这表明我们成功地将源子对象映射到了目标对象,并包含了父级值。

相关内容

热门资讯

第5分钟实锤!德州微扑克辅助(... 第5分钟实锤!德州微扑克辅助(德扑)都是存在有挂(详细辅助AI教程)进入游戏-大厅左侧-新手福利-激...
第4分钟实锤!智星德州菠萝辅助... 第4分钟实锤!智星德州菠萝辅助器(云扑克德州)果然是真的有挂(详细辅助线上教程)1、玩家可以在智星德...
四分钟实锤!德扑之星ai代打(... 四分钟实锤!德扑之星ai代打(来玩德州)一贯是有挂(详细辅助科技教程);1、德扑之星ai代打系统规律...
2分钟实锤!智星德州菠萝有挂吗... 2分钟实锤!智星德州菠萝有挂吗(德州app)好像真的有挂(详细辅助2025版教程);1、这是跨平台的...
9分钟实锤!德扑之星有作弊(来... 9分钟实锤!德扑之星有作弊(来玩德州)竟然有挂(详细辅助微扑克教程)1、完成德扑之星有作弊透视辅助安...
七分钟实锤!德扑之星有作弊(德... 七分钟实锤!德扑之星有作弊(德扑)确实是有挂(详细辅助AI教程);进入游戏-大厅左侧-新手福利-激活...
第九分钟实锤!智星德州菠萝外挂... 第九分钟实锤!智星德州菠萝外挂(wpk德州)一贯真的有挂(详细辅助揭秘教程)1、智星德州菠萝外挂机器...
第7分钟实锤!德州微扑克辅助(... 第7分钟实锤!德州微扑克辅助(手机德州)一直真的是有挂(详细辅助必赢方法)1、很好的工具软件,可以解...
两分钟实锤!德州之星有辅助挂(... 两分钟实锤!德州之星有辅助挂(德州wepower)其实真的有挂(详细辅助黑科技教程);该软件可以轻松...
第八分钟实锤!智星德州菠萝开挂... 第八分钟实锤!智星德州菠萝开挂(德州ai)原来有挂(详细辅助解说技巧)1、智星德州菠萝开挂系统规律教...