.net core 使用 Mapster 进行VO与PO映射(前后端视图映射)

1、安装nuget包

.net core 使用 Mapster 进行VO与PO映射(前后端视图映射)_第1张图片

2、创建映射类

    public static class MyMapper
    {
        /// 
        /// 实体映射
        /// 
        static MyMapper()
        {
            InitMapper();
        }

        /// 
        /// 初始化映射
        /// 
        private static void InitMapper()
        {
            TypeAdapterConfig.NewConfig().TwoWays()
                            .Map(d => d.ID, p => p.ID)
                            .Map(d => d.MENU_NAME, p => p.MenuName)
                            .Map(d => d.MENU_NAME_EN, p => p.MenuNameEn)
                            .Map(d => d.PARENT_ID, p => p.ParentId)
                            .Map(d => d.SEQ, p => p.Seq)
                            .Map(d => d.URL, p => p.Url)
                            .Map(d => d.ICON, p => p.Icon);


        }

        /// 
        /// 单字段映射
        /// 
        /// 源对象
        /// 
        public static T Adapt(Object o)
        {
            return o.Adapt();
        }


        /// 
        /// 列表映射
        /// 
        /// 源类型
        /// 目标类型
        /// 源类型列表
        /// 
        public static IEnumerable Adapts(IEnumerable ss)
        {
            foreach (var x in ss)
            {
                yield return x.Adapt();
            }
        }
    }

3、使用

var vo = MyMapper.Adapt(itemPO);

参考:https://www.cnblogs.com/qiqigou/p/13696669.html

 

你可能感兴趣的:(net,core)