Automapper在映射对象列表时,覆盖目标值但只在源中存在时。
创始人
2024-09-23 16:00:46
0

使用Automapper的MapAtRuntime方法来指定映射规则,并在映射时通过配置选项来控制是否覆盖目标属 性。

示例如下:

public class Source
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class Destination
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}

public static void Main()
{
    var sourceList = new List
    {
        new Source { Id = 1, Name = "John" },
        new Source { Id = 2, Name = "Mary" }
    };

    // 定义映射规则
    var mappingConfig = new MapperConfiguration(cfg =>
    {
        cfg.CreateMap()
            .ForMember(dest => dest.Description, opt => opt.Ignore());
    });

    // 映射配置选项
    var mappingOptions = new List
    {
        new MappingOption
        {
            PropertyMap = mappingConfig.FindTypeMapFor().GetPropertyMap(dest => dest.Description),
            ShouldMapSourceValue = true
        }
    };

    // 映射对象列表
    var destinationList = mappingConfig.Map, List>(sourceList,
        opts => opts.ConfigureMap(mappingOptions));

    foreach (var destination in destinationList)
    {
        Console.WriteLine(destination.Name + " " + destination.Id + " " + destination.Description);
    }
}

在上面的示例中,我们使用了Automapper的MapAtRuntime方法来定义映射规则,并在映射时通过配置选项 ShouldMapSourceValue 来指定是否应该覆盖目标属性。我们还使用了 opt.Ignore() 方法来忽略目标对象中不存在的属性。

相关内容

热门资讯

7分钟实锤!智星德州菠萝开挂(... 7分钟实锤!智星德州菠萝开挂(来玩德州)一贯是有挂(详细辅助必胜教程)1、智星德州菠萝开挂系统规律教...
第三分钟实锤!德州ai机器人(... 第三分钟实锤!德州ai机器人(德州ai)好像真的有挂(详细辅助揭秘攻略);1、超多福利:超高返利,海...
第7分钟实锤!德州ai辅助(德... 第7分钟实锤!德州ai辅助(德州ai)本来有挂(详细辅助必赢方法)1、超多福利:超高返利,海量正版游...
第1分钟实锤!智星德州菠萝有挂... 第1分钟实锤!智星德州菠萝有挂吗(德州ai)真是存在有挂(详细辅助存在挂教程)1.智星德州菠萝有挂吗...
第4分钟实锤!德州之星有辅助挂... 第4分钟实锤!德州之星有辅助挂(来玩德州)原来存在有挂(详细辅助曝光教程)1)德州之星有辅助挂辅助挂...
第十分钟实锤!德扑ai智能机器... 第十分钟实锤!德扑ai智能机器人(nzt德州)好像是有挂(详细辅助wepoke教程);1、用户打开应...
第三分钟实锤!德州微扑克辅助(... 第三分钟实锤!德州微扑克辅助(智星德州)确实真的是有挂(详细辅助wpk教程)1、任何德州微扑克辅助a...
第八分钟实锤!德州之星有辅助挂... 第八分钟实锤!德州之星有辅助挂(德州nzt)都是存在有挂(详细辅助细节揭秘)1)德州之星有辅助挂辅助...
七分钟实锤!德州微扑克辅助(来... 七分钟实锤!德州微扑克辅助(来玩德州)好像真的是有挂(详细辅助软件教程)1、起透看视 德州微扑克辅助...
第十分钟实锤!智星德州菠萝外挂... 第十分钟实锤!智星德州菠萝外挂(德州机器人)都是真的是有挂(详细辅助玩家教程);1、全新机制【智星德...