c# - AutoMapper 映射自定义值 ForMember

标签 c# asp.net-mvc automapper

我正在使用 AutoMapper 8.1.1

如何为目标成员而不是源成员赋值。

我有这个代码`

    public IEnumerable<PartsTreeVM> GetMainPartsCategories(int type)
    {
        var model = _db.GetALLPartCategoriesTreeWithImages(type, 25);
        var mapper = new MapperConfiguration(cfg => cfg.CreateMap<GetALLPartCategoriesTreeWithImages_Result, PartsTreeVM>()
                .ForMember(dest => dest.VehicleType, opt => opt.MapFrom(type))
            )
            .CreateMapper();
        var result = mapper.Map<List<PartsTreeVM>>(model);

        return result;
    }

我希望将 int 类型参数分配给所有 dest.VehicleType 成员。

最佳答案

你可以试试这个:

var model = _db.GetALLPartCategoriesTreeWithImages(type, 25);
        var mapper = new MapperConfiguration(cfg => cfg.CreateMap<GetALLPartCategoriesTreeWithImages_Result, PartsTreeVM>()
                .ForMember(dest => dest.VehicleType, opt => opt.MapFrom(s => type))
            )
            .CreateMapper();

或者你可以使用 AfterMap 作为示例你可以试试这个:

var model = _db.GetALLPartCategoriesTreeWithImages(type, 25);
        var mapper = new MapperConfiguration(cfg => cfg.CreateMap<GetALLPartCategoriesTreeWithImages_Result, PartsTreeVM>()
                .AfterMap((s, d) => {
                    d.VehicleType = type;
                }) 
            )
            .CreateMapper();

关于c# - AutoMapper 映射自定义值 ForMember,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58540728/

相关文章:

automapper - 在 AutoMapper 中将复杂类型映射到平面类型

c# - 如何将列表和字典作为元素添加到列表中

javascript - MVC Controller 方法不是从 ajax 调用的

asp.net-mvc - Ninject - 基于子域动态指定连接字符串

asp.net-mvc - 如何获取登录用户的项目 ASP.NET MVC

c# - : Automapper, Valuinjector 和手动映射哪个更快?每一个都快到什么程度?

c# - 如何从映射中找到自动映射器配置文件?

javascript - 将 MDL 与 ASP.NET Blazor 结合使用

c# - 在印度语言的 c# 中将 Unicode 字符串转换为 unicode 字符

c# - 如何为 asp.net 中的每个项目添加复选框列表的工具提示