首页 > 移动平台 > 详细

AutoMapper Profile用法

时间:2019-06-11 16:56:23      阅读:526      评论:0      收藏:0      [点我收藏+]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AutoMapper;

namespace MvcAutoMapper.AutoMapper
{
    public class Configuration
    {
        public static void Configure()
        {
            Mapper.Initialize(cfg =>
            {
                cfg.AddProfile<UserProfile>();
            });
        }
    }
}

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AutoMapper;

namespace MvcAutoMapper.AutoMapper.Profiles
{
    public class UserProfile:Profile
    {

        protected override void Configure()
        {
            CreateMap<Models.User, Models.UserDto>();

        }
    }
}

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AutoMapper;

namespace MyMvc.AutoMapper
{
    public static class AutoMapperForMvc
    {
        public static void Register()
        {
            Mapper.Initialize(x =>
            {
                x.AddProfile<UserProfile>();
            });

            //在程序启动时对所有的配置进行严格验证
            Mapper.AssertConfigurationIsValid();
        }
    }
}

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AutoMapper;

namespace MyMvc.AutoMapper
{
    public class UserProfile:Profile
    {
        public UserProfile()
        {
            base.CreateMap<Models.User, Models.UserView>()
                //映射前
                .BeforeMap((s, t) =>
                {
                    s.Age += 10;
                })
                //映射后
                .AfterMap((s, t) =>
                {
                    t.Age += 10;
                })
                //条件判断 
                //年龄不大于10 不映射年龄这个属性的值,那值就是默认的0,但是映射后+10,所以就是10
                .ForMember(t=>t.Age,o=>o.Condition(s=>s.Age>30))
                //空值
                .ForMember(t=>t.Name, o=>o.NullSubstitute("无名氏")) 
                .ForMember(x=>x.time,x=>x.MapFrom(s=>s.add_time))
                //反向映射
                .ReverseMap(); 
        }
    }
}

  

AutoMapper Profile用法

原文:https://www.cnblogs.com/Jeely/p/11004292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!