C# Automapper:映射集合并传递参数

C# Automapper:映射集合并传递参数,c#,automapper,C#,Automapper,我试图将一个实体映射到另一个实体,该实体具有一个附加字段 Group { int Id; } GroupExtended { int Id; string Description; } 所以我在循环中进行映射: foreach (var group in groups) { var result = mapper.Map<Group, GroupExtended>(group, opt => op

我试图将一个实体映射到另一个实体,该实体具有一个附加字段

Group {
    int Id;
}

GroupExtended {
   int Id;
   string Description;
}
所以我在循环中进行映射:

foreach (var group in groups)
{
     var result = mapper.Map<Group, GroupExtended>(group,
                        opt => opt.AfterMap((src, dest) => dest.Description = someValue));
}
是否可以映射整个IEnumerable,并且仍然传递值? 我试过这个:

var result = mapper.Map<List<GroupExtended>>(groups,
                        opt => opt.AfterMap((src, dest) => dest.Description = someValue));

但是它在dest上有一个错误。Description:'object'不包含Description的定义

是的,可以映射整个集合并仍然传递值。正如你在原始帖子上的评论所指出的,使用a可能是首选。如果您仍然喜欢使用AfterMap,您可以执行以下操作,记住在本例中,您的源和目标是集合而不是单个项目:

var result = mapper.Map<List<Group>, List<GroupExtended>>(groups,
    opt => opt.AfterMap((src, dest) =>
    {
        foreach (var i in dest)
        {
            i.Description = "someValue";
        }
    }));

您不应该使用AfterMap,应该为该属性使用自定义值解析器。您可以将参数传递给该解析器。@LucianBargaoanu您可以演示如何使用自定义解析器吗?