AutoMapper-Map(source,destination)overwritedestinationchildobjectwithnullvaluefromsourceviaconfiguration
创始人
2024-09-23 10:00:36
0

在AutoMapper中,如果通过Map(source,destination)方法映射源对象到目标对象时,目标对象的子对象在源对象中为null,则该子对象将被覆盖为null值。

要防止这种情况发生,可以使用AutoMapper的Configuration选项来配置映射规则。您可以使用CreateMap方法来定义源和目标类型之间的映射,并使用ForMember方法来配置特定属性的映射。

下面是一个使用AutoMapper配置选项的示例:

// 定义源和目标类型
public class Source
{
    public int? Value { get; set; }
}

public class Destination
{
    public int? Value { get; set; }
    public Child Child { get; set; }
}

public class Child
{
    public string Name { get; set; }
}

// 配置映射规则
var config = new MapperConfiguration(cfg =>
{
    cfg.CreateMap()
        .ForMember(dest => dest.Child, opt => opt.Ignore()); // 忽略Child属性的映射
});

// 使用配置映射对象
var source = new Source { Value = null };
var destination = new Destination { Value = 42, Child = new Child { Name = "bob" } };
var mapper = config.CreateMapper();
mapper.Map(source, destination);

// 输出目标对象
Console.WriteLine(destination.Value); // 42
Console.WriteLine(destination.Child.Name); // "bob"

在此示例中,我们使用Ignore()方法配置AutoMapper,以便在映射源和目标对象时忽略Child属性。这样,即使源对象的Child属性为null,它也不会覆盖目标对象中的Child属性。

相关内容

热门资讯

开挂辅助插件"wpk... 开挂辅助插件"wpk辅助软件"开挂(透视)辅助插件(了解有挂)【无需打开直接搜索加薇13670430...
开挂辅助神器"wep... 您好:wepoker透视有没有这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
开挂辅助下载"菠萝德... 开挂辅助下载"菠萝德州透视脚本"开挂(透视)辅助工具(有挂秘笈) >>您好:软件加薇13670430...
开挂辅助插件"约局吧... 约局吧是否有挂开挂教程视频分享装挂详细步骤在当今的网络游戏中,约局吧是否有挂作为一种经典的娱乐方式,...
开挂辅助软件"pok... 开挂辅助软件"pokermaster破解版"开挂(透视)辅助脚本(揭秘有挂);无需打开直接搜索加薇1...
开挂辅助插件"pok... 开挂辅助插件"pokemmo脚本辅助器下载"开挂(透视)辅助脚本(有挂秘籍)>>您好:软件加薇136...
开挂辅助软件"new... newpoker脚本 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由:...
开挂辅助安装"wep... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
辅助开挂!微乐智能辅助app,... 辅助开挂!微乐智能辅助app,hhpoker真的有透视吗(透视)开挂辅助安装(今日头条);微乐智能辅...
开挂辅助!德州局wepoker... 开挂辅助!德州局wepoker辅助挂,wpk透视插件(透视)开挂辅助软件(有挂神器);德州局wepo...