AutoMapper: 使用 .ProjectTo 时向目标构造函数传递参数
创始人
2024-09-23 11:00:44
0

在使用AutoMapper的.ProjectTo方法时向目标构造函数传递参数,可以通过使用ConstructUsing方法实现。下面是一个示例代码:

// 定义源类型
public class SourceModel
{
    public int Id { get; set; }
    public string Name { get; set; }
}

// 定义目标类型
public class DestinationModel
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string AdditionalInfo { get; set; }

    public DestinationModel(int id, string name, string additionalInfo)
    {
        Id = id;
        Name = name;
        AdditionalInfo = additionalInfo;
    }
}

// AutoMapper 配置
var config = new MapperConfiguration(cfg =>
{
    cfg.CreateMap()
        .ConstructUsing((src, ctx) => new DestinationModel(src.Id, src.Name, ctx.Items["additionalInfo"] as string));
});

// 创建映射器
var mapper = config.CreateMapper();

// 设置额外参数
var additionalInfo = "Some additional info";

// 使用.ProjectTo方法进行映射
var destinationModels = dbContext.SourceModels
    .ProjectTo(new { additionalInfo })
    .ToList();

在上面的示例中,我们定义了源类型SourceModel和目标类型DestinationModel。然后,我们使用AutoMapper的配置API来定义映射规则,并通过ConstructUsing方法指定目标类型的构造函数,并传递源类型的属性以及额外的参数。最后,我们可以使用.ProjectTo方法进行映射,并将额外的参数传递给该方法。

相关内容

热门资讯

技巧知识分享“wepoker是... wepoker是不是有辅助是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户...
一分钟揭秘“wepoker辅助... 无需打开直接搜索;操作使用教程:一分钟揭秘“wepoker辅助开挂方法”开挂辅助器(透视)线上教程1...
技术分享“wepoker是不是... >>您好:wepoker是不是有透视软件软件加扣扣群确实是有挂的,很多玩家在这款游戏中打牌都会发现很...
玩家必看攻略“德州wepoke... >>您好:德州wepoker透视挂确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,...
玩家必用“WPK免费挂机辅助器... >>您好:WPK免费挂机辅助器软件加扣扣群确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
最新研发“wepoker到底有... 无需打开直接搜索;操作使用教程:最新研发“wepoker到底有透视软件吗”开挂辅助下载(透视)安装教...
终于清楚“wpk德州辅助”开挂... 您好:wpk德州辅助的软件,软件加客服确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
揭秘“wpk透视app有哪些”... 揭秘“wpk透视app有哪些”开挂辅助工具(透视)教你攻略是一款可以让一直输的玩家,快速成为一个“必...
揭秘“wepoker原来有挂”... 您好:wepoker原来有挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用...
一分钟揭秘“wepoker透视... >>>您好:,软件加微信【添加136704302】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...