AutoMapper Profile用法


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(); 
        }
    }
}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM