AutoMapper中针对指定的属性定制转换规则

public class MyMVCProfile : Profile
    {
        public override string ProfileName
        {
            get { return "MyMVCProfile"; }
        }
        protected override void Configure()
        {
            Mapper.CreateMap<ColumnInIdeaModel, ColumnInIdea>().ForMember(dest => dest.DataTypeId,
                               m => m.ResolveUsing(ResolveColumnInIdeaModel));
        }

       
        private object ResolveColumnInIdeaModel(ColumnInIdeaModel c)
        {
            switch (c.MyDataTypeId)
            {
                case DataTypeId.Money: return 0;
                case DataTypeId.Number: return 1;
                case DataTypeId.Datetime: return 2;
                case DataTypeId.LongText: return 3;
                case DataTypeId.ShortText: return 4;
                case DataTypeId.IdeaType: return 5;
                case DataTypeId.Status: return 6;
            }
            return null;
        }

    }

此时,对于指定的字段,使用指定的方法进行转换。剩下的字段,按同名的字段进行匹配。这里的Profile类只是一个转换器。这个转换器要加入到Mapper中才能够使用。

Mapper.Configuration.AddProfileThreadSafe(Activator.CreateInstance(typeof(MyMVCProfile)) as Profile);

现在,使用Mapper.Map<Entity>(Model m)就能返回需要的转换后的实体了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值